/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, 14 ms] (6) HASKELL (7) LetRed [EQUIVALENT, 0 ms] (8) HASKELL (9) NumRed [SOUND, 0 ms] (10) HASKELL (11) Narrow [SOUND, 0 ms] (12) AND (13) QDP (14) DependencyGraphProof [EQUIVALENT, 0 ms] (15) AND (16) QDP (17) MRRProof [EQUIVALENT, 31 ms] (18) QDP (19) PisEmptyProof [EQUIVALENT, 0 ms] (20) YES (21) QDP (22) QDPOrderProof [EQUIVALENT, 44 ms] (23) QDP (24) DependencyGraphProof [EQUIVALENT, 0 ms] (25) QDP (26) QDPSizeChangeProof [EQUIVALENT, 0 ms] (27) YES (28) QDP (29) TransformationProof [EQUIVALENT, 0 ms] (30) QDP (31) TransformationProof [EQUIVALENT, 0 ms] (32) QDP (33) UsableRulesProof [EQUIVALENT, 0 ms] (34) QDP (35) QReductionProof [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) DependencyGraphProof [EQUIVALENT, 0 ms] (46) QDP (47) TransformationProof [EQUIVALENT, 0 ms] (48) QDP (49) DependencyGraphProof [EQUIVALENT, 0 ms] (50) QDP (51) TransformationProof [EQUIVALENT, 0 ms] (52) QDP (53) DependencyGraphProof [EQUIVALENT, 0 ms] (54) QDP (55) TransformationProof [EQUIVALENT, 0 ms] (56) QDP (57) DependencyGraphProof [EQUIVALENT, 0 ms] (58) QDP (59) TransformationProof [EQUIVALENT, 0 ms] (60) QDP (61) DependencyGraphProof [EQUIVALENT, 0 ms] (62) AND (63) QDP (64) UsableRulesProof [EQUIVALENT, 0 ms] (65) QDP (66) QReductionProof [EQUIVALENT, 0 ms] (67) QDP (68) TransformationProof [EQUIVALENT, 0 ms] (69) QDP (70) DependencyGraphProof [EQUIVALENT, 0 ms] (71) QDP (72) TransformationProof [EQUIVALENT, 0 ms] (73) QDP (74) DependencyGraphProof [EQUIVALENT, 0 ms] (75) QDP (76) TransformationProof [EQUIVALENT, 0 ms] (77) QDP (78) TransformationProof [EQUIVALENT, 0 ms] (79) QDP (80) DependencyGraphProof [EQUIVALENT, 0 ms] (81) AND (82) QDP (83) UsableRulesProof [EQUIVALENT, 0 ms] (84) QDP (85) QReductionProof [EQUIVALENT, 0 ms] (86) QDP (87) TransformationProof [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) DependencyGraphProof [EQUIVALENT, 0 ms] (98) QDP (99) TransformationProof [EQUIVALENT, 0 ms] (100) QDP (101) DependencyGraphProof [EQUIVALENT, 0 ms] (102) QDP (103) TransformationProof [EQUIVALENT, 0 ms] (104) QDP (105) TransformationProof [EQUIVALENT, 0 ms] (106) QDP (107) TransformationProof [EQUIVALENT, 0 ms] (108) QDP (109) TransformationProof [EQUIVALENT, 0 ms] (110) QDP (111) DependencyGraphProof [EQUIVALENT, 0 ms] (112) QDP (113) TransformationProof [EQUIVALENT, 0 ms] (114) QDP (115) DependencyGraphProof [EQUIVALENT, 0 ms] (116) QDP (117) TransformationProof [EQUIVALENT, 0 ms] (118) QDP (119) QDPSizeChangeProof [EQUIVALENT, 2 ms] (120) YES (121) QDP (122) UsableRulesProof [EQUIVALENT, 0 ms] (123) QDP (124) TransformationProof [EQUIVALENT, 0 ms] (125) QDP (126) TransformationProof [EQUIVALENT, 0 ms] (127) QDP (128) TransformationProof [EQUIVALENT, 0 ms] (129) QDP (130) TransformationProof [EQUIVALENT, 0 ms] (131) QDP (132) TransformationProof [EQUIVALENT, 0 ms] (133) QDP (134) TransformationProof [EQUIVALENT, 0 ms] (135) QDP (136) TransformationProof [EQUIVALENT, 0 ms] (137) QDP (138) TransformationProof [EQUIVALENT, 0 ms] (139) QDP (140) TransformationProof [EQUIVALENT, 0 ms] (141) QDP (142) DependencyGraphProof [EQUIVALENT, 0 ms] (143) QDP (144) TransformationProof [EQUIVALENT, 0 ms] (145) QDP (146) TransformationProof [EQUIVALENT, 0 ms] (147) QDP (148) TransformationProof [EQUIVALENT, 0 ms] (149) QDP (150) TransformationProof [EQUIVALENT, 0 ms] (151) QDP (152) TransformationProof [EQUIVALENT, 0 ms] (153) QDP (154) TransformationProof [EQUIVALENT, 0 ms] (155) QDP (156) TransformationProof [EQUIVALENT, 0 ms] (157) QDP (158) TransformationProof [EQUIVALENT, 0 ms] (159) QDP (160) TransformationProof [EQUIVALENT, 0 ms] (161) QDP (162) TransformationProof [EQUIVALENT, 0 ms] (163) QDP (164) TransformationProof [EQUIVALENT, 0 ms] (165) QDP (166) DependencyGraphProof [EQUIVALENT, 0 ms] (167) QDP (168) TransformationProof [EQUIVALENT, 0 ms] (169) QDP (170) DependencyGraphProof [EQUIVALENT, 0 ms] (171) AND (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) DependencyGraphProof [EQUIVALENT, 0 ms] (186) QDP (187) QDPOrderProof [EQUIVALENT, 858 ms] (188) QDP (189) DependencyGraphProof [EQUIVALENT, 0 ms] (190) TRUE (191) QDP (192) TransformationProof [EQUIVALENT, 0 ms] (193) QDP (194) DependencyGraphProof [EQUIVALENT, 0 ms] (195) AND (196) QDP (197) TransformationProof [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) QDPOrderProof [EQUIVALENT, 1198 ms] (206) QDP (207) DependencyGraphProof [EQUIVALENT, 0 ms] (208) TRUE (209) QDP (210) QReductionProof [EQUIVALENT, 0 ms] (211) QDP (212) InductionCalculusProof [EQUIVALENT, 0 ms] (213) QDP (214) QDP (215) UsableRulesProof [EQUIVALENT, 0 ms] (216) QDP (217) QReductionProof [EQUIVALENT, 0 ms] (218) QDP (219) TransformationProof [EQUIVALENT, 0 ms] (220) QDP (221) DependencyGraphProof [EQUIVALENT, 0 ms] (222) QDP (223) TransformationProof [EQUIVALENT, 0 ms] (224) QDP (225) DependencyGraphProof [EQUIVALENT, 0 ms] (226) QDP (227) TransformationProof [EQUIVALENT, 0 ms] (228) QDP (229) TransformationProof [EQUIVALENT, 0 ms] (230) QDP (231) DependencyGraphProof [EQUIVALENT, 0 ms] (232) AND (233) QDP (234) UsableRulesProof [EQUIVALENT, 0 ms] (235) QDP (236) QReductionProof [EQUIVALENT, 0 ms] (237) QDP (238) TransformationProof [EQUIVALENT, 0 ms] (239) QDP (240) TransformationProof [EQUIVALENT, 0 ms] (241) QDP (242) TransformationProof [EQUIVALENT, 0 ms] (243) QDP (244) TransformationProof [EQUIVALENT, 0 ms] (245) QDP (246) TransformationProof [EQUIVALENT, 0 ms] (247) QDP (248) DependencyGraphProof [EQUIVALENT, 0 ms] (249) QDP (250) TransformationProof [EQUIVALENT, 0 ms] (251) QDP (252) DependencyGraphProof [EQUIVALENT, 0 ms] (253) QDP (254) TransformationProof [EQUIVALENT, 0 ms] (255) QDP (256) TransformationProof [EQUIVALENT, 0 ms] (257) QDP (258) TransformationProof [EQUIVALENT, 0 ms] (259) QDP (260) TransformationProof [EQUIVALENT, 0 ms] (261) QDP (262) DependencyGraphProof [EQUIVALENT, 0 ms] (263) QDP (264) TransformationProof [EQUIVALENT, 0 ms] (265) QDP (266) DependencyGraphProof [EQUIVALENT, 0 ms] (267) QDP (268) TransformationProof [EQUIVALENT, 0 ms] (269) QDP (270) QDPSizeChangeProof [EQUIVALENT, 0 ms] (271) YES (272) QDP (273) UsableRulesProof [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) TransformationProof [EQUIVALENT, 0 ms] (290) QDP (291) TransformationProof [EQUIVALENT, 0 ms] (292) QDP (293) DependencyGraphProof [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) TransformationProof [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) DependencyGraphProof [EQUIVALENT, 0 ms] (318) QDP (319) TransformationProof [EQUIVALENT, 0 ms] (320) QDP (321) DependencyGraphProof [EQUIVALENT, 0 ms] (322) AND (323) QDP (324) TransformationProof [EQUIVALENT, 0 ms] (325) QDP (326) TransformationProof [EQUIVALENT, 0 ms] (327) QDP (328) TransformationProof [EQUIVALENT, 0 ms] (329) QDP (330) TransformationProof [EQUIVALENT, 0 ms] (331) QDP (332) TransformationProof [EQUIVALENT, 0 ms] (333) QDP (334) TransformationProof [EQUIVALENT, 0 ms] (335) QDP (336) DependencyGraphProof [EQUIVALENT, 0 ms] (337) QDP (338) QDPOrderProof [EQUIVALENT, 792 ms] (339) QDP (340) DependencyGraphProof [EQUIVALENT, 0 ms] (341) TRUE (342) QDP (343) TransformationProof [EQUIVALENT, 0 ms] (344) QDP (345) DependencyGraphProof [EQUIVALENT, 0 ms] (346) AND (347) QDP (348) TransformationProof [EQUIVALENT, 0 ms] (349) QDP (350) TransformationProof [EQUIVALENT, 0 ms] (351) QDP (352) TransformationProof [EQUIVALENT, 0 ms] (353) QDP (354) TransformationProof [EQUIVALENT, 0 ms] (355) QDP (356) QDPOrderProof [EQUIVALENT, 1189 ms] (357) QDP (358) DependencyGraphProof [EQUIVALENT, 0 ms] (359) TRUE (360) QDP (361) QReductionProof [EQUIVALENT, 0 ms] (362) QDP (363) InductionCalculusProof [EQUIVALENT, 0 ms] (364) QDP (365) QDP (366) UsableRulesProof [EQUIVALENT, 0 ms] (367) QDP (368) QReductionProof [EQUIVALENT, 1 ms] (369) QDP (370) TransformationProof [EQUIVALENT, 0 ms] (371) QDP (372) DependencyGraphProof [EQUIVALENT, 0 ms] (373) QDP (374) TransformationProof [EQUIVALENT, 0 ms] (375) QDP (376) DependencyGraphProof [EQUIVALENT, 0 ms] (377) QDP (378) TransformationProof [EQUIVALENT, 0 ms] (379) QDP (380) TransformationProof [EQUIVALENT, 0 ms] (381) QDP (382) DependencyGraphProof [EQUIVALENT, 0 ms] (383) QDP (384) TransformationProof [EQUIVALENT, 0 ms] (385) QDP (386) TransformationProof [EQUIVALENT, 0 ms] (387) QDP (388) TransformationProof [EQUIVALENT, 0 ms] (389) QDP (390) DependencyGraphProof [EQUIVALENT, 0 ms] (391) QDP (392) TransformationProof [EQUIVALENT, 0 ms] (393) QDP (394) TransformationProof [EQUIVALENT, 0 ms] (395) QDP (396) TransformationProof [EQUIVALENT, 0 ms] (397) QDP (398) TransformationProof [EQUIVALENT, 0 ms] (399) QDP (400) DependencyGraphProof [EQUIVALENT, 0 ms] (401) QDP (402) TransformationProof [EQUIVALENT, 0 ms] (403) QDP (404) TransformationProof [EQUIVALENT, 0 ms] (405) QDP (406) TransformationProof [EQUIVALENT, 0 ms] (407) QDP (408) TransformationProof [EQUIVALENT, 0 ms] (409) QDP (410) TransformationProof [EQUIVALENT, 0 ms] (411) QDP (412) TransformationProof [EQUIVALENT, 0 ms] (413) QDP (414) DependencyGraphProof [EQUIVALENT, 0 ms] (415) QDP (416) TransformationProof [EQUIVALENT, 0 ms] (417) QDP (418) TransformationProof [EQUIVALENT, 0 ms] (419) QDP (420) DependencyGraphProof [EQUIVALENT, 0 ms] (421) AND (422) QDP (423) UsableRulesProof [EQUIVALENT, 0 ms] (424) QDP (425) QReductionProof [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) DependencyGraphProof [EQUIVALENT, 0 ms] (434) QDP (435) TransformationProof [EQUIVALENT, 0 ms] (436) QDP (437) DependencyGraphProof [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) TransformationProof [EQUIVALENT, 0 ms] (446) QDP (447) DependencyGraphProof [EQUIVALENT, 0 ms] (448) QDP (449) TransformationProof [EQUIVALENT, 0 ms] (450) QDP (451) DependencyGraphProof [EQUIVALENT, 0 ms] (452) QDP (453) TransformationProof [EQUIVALENT, 0 ms] (454) QDP (455) QDPSizeChangeProof [EQUIVALENT, 0 ms] (456) YES (457) QDP (458) UsableRulesProof [EQUIVALENT, 0 ms] (459) QDP (460) QReductionProof [EQUIVALENT, 0 ms] (461) QDP (462) TransformationProof [EQUIVALENT, 1 ms] (463) QDP (464) TransformationProof [EQUIVALENT, 0 ms] (465) QDP (466) TransformationProof [EQUIVALENT, 0 ms] (467) QDP (468) TransformationProof [EQUIVALENT, 0 ms] (469) QDP (470) TransformationProof [EQUIVALENT, 0 ms] (471) QDP (472) DependencyGraphProof [EQUIVALENT, 0 ms] (473) QDP (474) TransformationProof [EQUIVALENT, 0 ms] (475) QDP (476) TransformationProof [EQUIVALENT, 0 ms] (477) QDP (478) TransformationProof [EQUIVALENT, 0 ms] (479) QDP (480) TransformationProof [EQUIVALENT, 0 ms] (481) QDP (482) DependencyGraphProof [EQUIVALENT, 0 ms] (483) QDP (484) TransformationProof [EQUIVALENT, 0 ms] (485) QDP (486) DependencyGraphProof [EQUIVALENT, 0 ms] (487) QDP (488) TransformationProof [EQUIVALENT, 0 ms] (489) QDP (490) TransformationProof [EQUIVALENT, 0 ms] (491) QDP (492) DependencyGraphProof [EQUIVALENT, 0 ms] (493) QDP (494) TransformationProof [EQUIVALENT, 0 ms] (495) QDP (496) QDPSizeChangeProof [EQUIVALENT, 0 ms] (497) YES (498) QDP (499) UsableRulesProof [EQUIVALENT, 0 ms] (500) QDP (501) TransformationProof [EQUIVALENT, 0 ms] (502) QDP (503) TransformationProof [EQUIVALENT, 0 ms] (504) QDP (505) TransformationProof [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) DependencyGraphProof [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) DependencyGraphProof [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) DependencyGraphProof [EQUIVALENT, 0 ms] (552) QDP (553) TransformationProof [EQUIVALENT, 0 ms] (554) QDP (555) DependencyGraphProof [EQUIVALENT, 0 ms] (556) QDP (557) TransformationProof [EQUIVALENT, 0 ms] (558) QDP (559) DependencyGraphProof [EQUIVALENT, 0 ms] (560) AND (561) QDP (562) UsableRulesProof [EQUIVALENT, 0 ms] (563) QDP (564) TransformationProof [EQUIVALENT, 0 ms] (565) QDP (566) TransformationProof [EQUIVALENT, 0 ms] (567) QDP (568) TransformationProof [EQUIVALENT, 0 ms] (569) QDP (570) TransformationProof [EQUIVALENT, 0 ms] (571) QDP (572) DependencyGraphProof [EQUIVALENT, 0 ms] (573) QDP (574) TransformationProof [EQUIVALENT, 0 ms] (575) QDP (576) DependencyGraphProof [EQUIVALENT, 0 ms] (577) QDP (578) InductionCalculusProof [EQUIVALENT, 0 ms] (579) QDP (580) QDP (581) UsableRulesProof [EQUIVALENT, 0 ms] (582) QDP (583) TransformationProof [EQUIVALENT, 0 ms] (584) QDP (585) UsableRulesProof [EQUIVALENT, 0 ms] (586) QDP (587) InductionCalculusProof [EQUIVALENT, 0 ms] (588) QDP (589) QDP (590) TransformationProof [EQUIVALENT, 0 ms] (591) QDP (592) TransformationProof [EQUIVALENT, 0 ms] (593) QDP (594) TransformationProof [EQUIVALENT, 0 ms] (595) QDP (596) TransformationProof [EQUIVALENT, 0 ms] (597) QDP (598) TransformationProof [EQUIVALENT, 0 ms] (599) QDP (600) TransformationProof [EQUIVALENT, 0 ms] (601) QDP (602) TransformationProof [EQUIVALENT, 0 ms] (603) QDP (604) TransformationProof [EQUIVALENT, 0 ms] (605) QDP (606) TransformationProof [EQUIVALENT, 0 ms] (607) QDP (608) TransformationProof [EQUIVALENT, 0 ms] (609) QDP (610) TransformationProof [EQUIVALENT, 0 ms] (611) QDP (612) DependencyGraphProof [EQUIVALENT, 0 ms] (613) QDP (614) TransformationProof [EQUIVALENT, 0 ms] (615) QDP (616) DependencyGraphProof [EQUIVALENT, 0 ms] (617) QDP (618) TransformationProof [EQUIVALENT, 0 ms] (619) QDP (620) TransformationProof [EQUIVALENT, 0 ms] (621) QDP (622) TransformationProof [EQUIVALENT, 0 ms] (623) QDP (624) TransformationProof [EQUIVALENT, 0 ms] (625) QDP (626) TransformationProof [EQUIVALENT, 0 ms] (627) QDP (628) TransformationProof [EQUIVALENT, 0 ms] (629) QDP (630) DependencyGraphProof [EQUIVALENT, 0 ms] (631) AND (632) QDP (633) UsableRulesProof [EQUIVALENT, 0 ms] (634) QDP (635) InductionCalculusProof [EQUIVALENT, 0 ms] (636) QDP (637) QDP (638) UsableRulesProof [EQUIVALENT, 0 ms] (639) QDP (640) TransformationProof [EQUIVALENT, 0 ms] (641) QDP (642) TransformationProof [EQUIVALENT, 0 ms] (643) QDP (644) TransformationProof [EQUIVALENT, 0 ms] (645) QDP (646) TransformationProof [EQUIVALENT, 0 ms] (647) QDP (648) InductionCalculusProof [EQUIVALENT, 0 ms] (649) QDP (650) QDP (651) InductionCalculusProof [EQUIVALENT, 0 ms] (652) QDP (653) QDP (654) DependencyGraphProof [EQUIVALENT, 0 ms] (655) AND (656) QDP (657) TransformationProof [EQUIVALENT, 0 ms] (658) QDP (659) TransformationProof [EQUIVALENT, 0 ms] (660) QDP (661) QDPSizeChangeProof [EQUIVALENT, 0 ms] (662) YES (663) QDP (664) QDPSizeChangeProof [EQUIVALENT, 0 ms] (665) YES (666) QDP (667) MNOCProof [EQUIVALENT, 0 ms] (668) QDP (669) InductionCalculusProof [EQUIVALENT, 0 ms] (670) QDP (671) TransformationProof [EQUIVALENT, 0 ms] (672) QDP (673) TransformationProof [EQUIVALENT, 0 ms] (674) QDP (675) TransformationProof [EQUIVALENT, 0 ms] (676) QDP (677) DependencyGraphProof [EQUIVALENT, 0 ms] (678) QDP (679) TransformationProof [EQUIVALENT, 0 ms] (680) QDP (681) DependencyGraphProof [EQUIVALENT, 0 ms] (682) QDP (683) TransformationProof [EQUIVALENT, 0 ms] (684) QDP (685) DependencyGraphProof [EQUIVALENT, 0 ms] (686) QDP (687) TransformationProof [EQUIVALENT, 0 ms] (688) QDP (689) DependencyGraphProof [EQUIVALENT, 0 ms] (690) QDP (691) TransformationProof [EQUIVALENT, 0 ms] (692) QDP (693) DependencyGraphProof [EQUIVALENT, 0 ms] (694) QDP (695) TransformationProof [EQUIVALENT, 0 ms] (696) QDP (697) TransformationProof [EQUIVALENT, 0 ms] (698) QDP (699) TransformationProof [EQUIVALENT, 0 ms] (700) QDP (701) TransformationProof [EQUIVALENT, 0 ms] (702) QDP (703) DependencyGraphProof [EQUIVALENT, 0 ms] (704) QDP (705) TransformationProof [EQUIVALENT, 0 ms] (706) QDP (707) DependencyGraphProof [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) DependencyGraphProof [EQUIVALENT, 0 ms] (718) QDP (719) TransformationProof [EQUIVALENT, 0 ms] (720) QDP (721) DependencyGraphProof [EQUIVALENT, 0 ms] (722) QDP (723) TransformationProof [EQUIVALENT, 0 ms] (724) QDP (725) TransformationProof [EQUIVALENT, 0 ms] (726) QDP (727) TransformationProof [EQUIVALENT, 0 ms] (728) QDP (729) TransformationProof [EQUIVALENT, 0 ms] (730) QDP (731) DependencyGraphProof [EQUIVALENT, 0 ms] (732) QDP (733) TransformationProof [EQUIVALENT, 0 ms] (734) QDP (735) DependencyGraphProof [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) DependencyGraphProof [EQUIVALENT, 0 ms] (746) QDP (747) TransformationProof [EQUIVALENT, 0 ms] (748) QDP (749) TransformationProof [EQUIVALENT, 0 ms] (750) QDP (751) TransformationProof [EQUIVALENT, 0 ms] (752) QDP (753) TransformationProof [EQUIVALENT, 0 ms] (754) QDP (755) TransformationProof [EQUIVALENT, 0 ms] (756) QDP (757) TransformationProof [EQUIVALENT, 0 ms] (758) QDP (759) TransformationProof [EQUIVALENT, 0 ms] (760) QDP (761) TransformationProof [EQUIVALENT, 0 ms] (762) QDP (763) TransformationProof [EQUIVALENT, 0 ms] (764) QDP (765) DependencyGraphProof [EQUIVALENT, 0 ms] (766) QDP (767) TransformationProof [EQUIVALENT, 0 ms] (768) QDP (769) TransformationProof [EQUIVALENT, 0 ms] (770) QDP (771) TransformationProof [EQUIVALENT, 0 ms] (772) QDP (773) TransformationProof [EQUIVALENT, 0 ms] (774) QDP (775) DependencyGraphProof [EQUIVALENT, 0 ms] (776) QDP (777) TransformationProof [EQUIVALENT, 0 ms] (778) QDP (779) TransformationProof [EQUIVALENT, 0 ms] (780) QDP (781) TransformationProof [EQUIVALENT, 0 ms] (782) QDP (783) TransformationProof [EQUIVALENT, 0 ms] (784) QDP (785) TransformationProof [EQUIVALENT, 0 ms] (786) QDP (787) TransformationProof [EQUIVALENT, 0 ms] (788) QDP (789) TransformationProof [EQUIVALENT, 0 ms] (790) QDP (791) TransformationProof [EQUIVALENT, 0 ms] (792) QDP (793) TransformationProof [EQUIVALENT, 0 ms] (794) QDP (795) DependencyGraphProof [EQUIVALENT, 0 ms] (796) QDP (797) TransformationProof [EQUIVALENT, 0 ms] (798) QDP (799) TransformationProof [EQUIVALENT, 0 ms] (800) QDP (801) TransformationProof [EQUIVALENT, 0 ms] (802) QDP (803) TransformationProof [EQUIVALENT, 0 ms] (804) QDP (805) DependencyGraphProof [EQUIVALENT, 0 ms] (806) QDP (807) TransformationProof [EQUIVALENT, 0 ms] (808) QDP (809) TransformationProof [EQUIVALENT, 0 ms] (810) QDP (811) TransformationProof [EQUIVALENT, 0 ms] (812) QDP (813) TransformationProof [EQUIVALENT, 0 ms] (814) QDP (815) TransformationProof [EQUIVALENT, 0 ms] (816) QDP (817) TransformationProof [EQUIVALENT, 0 ms] (818) QDP (819) TransformationProof [EQUIVALENT, 0 ms] (820) QDP (821) TransformationProof [EQUIVALENT, 0 ms] (822) QDP (823) TransformationProof [EQUIVALENT, 0 ms] (824) QDP (825) DependencyGraphProof [EQUIVALENT, 0 ms] (826) QDP (827) TransformationProof [EQUIVALENT, 0 ms] (828) QDP (829) TransformationProof [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) TransformationProof [EQUIVALENT, 0 ms] (844) QDP (845) TransformationProof [EQUIVALENT, 0 ms] (846) QDP (847) TransformationProof [EQUIVALENT, 0 ms] (848) QDP (849) TransformationProof [EQUIVALENT, 0 ms] (850) QDP (851) TransformationProof [EQUIVALENT, 0 ms] (852) QDP (853) TransformationProof [EQUIVALENT, 0 ms] (854) QDP (855) DependencyGraphProof [EQUIVALENT, 0 ms] (856) QDP (857) TransformationProof [EQUIVALENT, 0 ms] (858) QDP (859) TransformationProof [EQUIVALENT, 0 ms] (860) QDP (861) TransformationProof [EQUIVALENT, 0 ms] (862) QDP (863) TransformationProof [EQUIVALENT, 0 ms] (864) QDP (865) DependencyGraphProof [EQUIVALENT, 0 ms] (866) QDP (867) QDPOrderProof [EQUIVALENT, 0 ms] (868) QDP (869) QDPOrderProof [EQUIVALENT, 96 ms] (870) QDP (871) MNOCProof [EQUIVALENT, 0 ms] (872) QDP (873) InductionCalculusProof [EQUIVALENT, 0 ms] (874) QDP (875) QDP (876) QDPSizeChangeProof [EQUIVALENT, 0 ms] (877) YES (878) QDP (879) QDPSizeChangeProof [EQUIVALENT, 0 ms] (880) YES (881) QDP (882) QDPSizeChangeProof [EQUIVALENT, 0 ms] (883) YES (884) QDP (885) QDPSizeChangeProof [EQUIVALENT, 0 ms] (886) YES (887) Narrow [COMPLETE, 0 ms] (888) AND (889) QDP (890) QDPSizeChangeProof [EQUIVALENT, 0 ms] (891) YES (892) QDP (893) PisEmptyProof [EQUIVALENT, 0 ms] (894) YES (895) QDP (896) QDPSizeChangeProof [EQUIVALENT, 0 ms] (897) 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; " "absReal0 x True = `negate` x; " "absReal1 x True = x; absReal1 x False = absReal0 x otherwise; " "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'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; " "gcd0Gcd' x xz = gcd0Gcd'2 x xz; gcd0Gcd' x y = gcd0Gcd'0 x y; " 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 "reduce2D vux vuy = gcd vux vuy; " "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; " ---------------------------------------- (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"];1421[label="- :: Float -> Float -> Float",fontsize=10,color="white",style="solid",shape="box"];4 -> 1421[label="",style="solid", color="blue", weight=9]; 1421 -> 5[label="",style="solid", color="blue", weight=3]; 1422[label="- :: Int -> Int -> Int",fontsize=10,color="white",style="solid",shape="box"];4 -> 1422[label="",style="solid", color="blue", weight=9]; 1422 -> 6[label="",style="solid", color="blue", weight=3]; 1423[label="- :: (Ratio a) -> (Ratio a) -> Ratio a",fontsize=10,color="white",style="solid",shape="box"];4 -> 1423[label="",style="solid", color="blue", weight=9]; 1423 -> 7[label="",style="solid", color="blue", weight=3]; 1424[label="- :: Integer -> Integer -> Integer",fontsize=10,color="white",style="solid",shape="box"];4 -> 1424[label="",style="solid", color="blue", weight=9]; 1424 -> 8[label="",style="solid", color="blue", weight=3]; 1425[label="- :: Double -> Double -> Double",fontsize=10,color="white",style="solid",shape="box"];4 -> 1425[label="",style="solid", color="blue", weight=9]; 1425 -> 9[label="",style="solid", color="blue", weight=3]; 5[label="(-) vuz3 vuz4",fontsize=16,color="black",shape="box"];5 -> 10[label="",style="solid", color="black", weight=3]; 6[label="(-) vuz3 vuz4",fontsize=16,color="black",shape="triangle"];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="box"];1426[label="vuz3/Integer vuz30",fontsize=10,color="white",style="solid",shape="box"];8 -> 1426[label="",style="solid", color="burlywood", weight=9]; 1426 -> 13[label="",style="solid", color="burlywood", weight=3]; 9[label="(-) vuz3 vuz4",fontsize=16,color="black",shape="box"];9 -> 14[label="",style="solid", color="black", weight=3]; 10[label="primMinusFloat vuz3 vuz4",fontsize=16,color="burlywood",shape="box"];1427[label="vuz3/Float vuz30 vuz31",fontsize=10,color="white",style="solid",shape="box"];10 -> 1427[label="",style="solid", color="burlywood", weight=9]; 1427 -> 15[label="",style="solid", color="burlywood", weight=3]; 11[label="primMinusInt vuz3 vuz4",fontsize=16,color="burlywood",shape="triangle"];1428[label="vuz3/Pos vuz30",fontsize=10,color="white",style="solid",shape="box"];11 -> 1428[label="",style="solid", color="burlywood", weight=9]; 1428 -> 16[label="",style="solid", color="burlywood", weight=3]; 1429[label="vuz3/Neg vuz30",fontsize=10,color="white",style="solid",shape="box"];11 -> 1429[label="",style="solid", color="burlywood", weight=9]; 1429 -> 17[label="",style="solid", color="burlywood", weight=3]; 12[label="vuz3 + (negate vuz4)",fontsize=16,color="burlywood",shape="box"];1430[label="vuz3/vuz30 :% vuz31",fontsize=10,color="white",style="solid",shape="box"];12 -> 1430[label="",style="solid", color="burlywood", weight=9]; 1430 -> 18[label="",style="solid", color="burlywood", weight=3]; 13[label="(-) Integer vuz30 vuz4",fontsize=16,color="burlywood",shape="box"];1431[label="vuz4/Integer vuz40",fontsize=10,color="white",style="solid",shape="box"];13 -> 1431[label="",style="solid", color="burlywood", weight=9]; 1431 -> 19[label="",style="solid", color="burlywood", weight=3]; 14[label="primMinusDouble vuz3 vuz4",fontsize=16,color="burlywood",shape="box"];1432[label="vuz3/Double vuz30 vuz31",fontsize=10,color="white",style="solid",shape="box"];14 -> 1432[label="",style="solid", color="burlywood", weight=9]; 1432 -> 20[label="",style="solid", color="burlywood", weight=3]; 15[label="primMinusFloat (Float vuz30 vuz31) vuz4",fontsize=16,color="burlywood",shape="box"];1433[label="vuz4/Float vuz40 vuz41",fontsize=10,color="white",style="solid",shape="box"];15 -> 1433[label="",style="solid", color="burlywood", weight=9]; 1433 -> 21[label="",style="solid", color="burlywood", weight=3]; 16[label="primMinusInt (Pos vuz30) vuz4",fontsize=16,color="burlywood",shape="box"];1434[label="vuz4/Pos vuz40",fontsize=10,color="white",style="solid",shape="box"];16 -> 1434[label="",style="solid", color="burlywood", weight=9]; 1434 -> 22[label="",style="solid", color="burlywood", weight=3]; 1435[label="vuz4/Neg vuz40",fontsize=10,color="white",style="solid",shape="box"];16 -> 1435[label="",style="solid", color="burlywood", weight=9]; 1435 -> 23[label="",style="solid", color="burlywood", weight=3]; 17[label="primMinusInt (Neg vuz30) vuz4",fontsize=16,color="burlywood",shape="box"];1436[label="vuz4/Pos vuz40",fontsize=10,color="white",style="solid",shape="box"];17 -> 1436[label="",style="solid", color="burlywood", weight=9]; 1436 -> 24[label="",style="solid", color="burlywood", weight=3]; 1437[label="vuz4/Neg vuz40",fontsize=10,color="white",style="solid",shape="box"];17 -> 1437[label="",style="solid", color="burlywood", weight=9]; 1437 -> 25[label="",style="solid", color="burlywood", weight=3]; 18[label="vuz30 :% vuz31 + (negate vuz4)",fontsize=16,color="burlywood",shape="box"];1438[label="vuz4/vuz40 :% vuz41",fontsize=10,color="white",style="solid",shape="box"];18 -> 1438[label="",style="solid", color="burlywood", weight=9]; 1438 -> 26[label="",style="solid", color="burlywood", weight=3]; 19[label="(-) Integer vuz30 Integer vuz40",fontsize=16,color="black",shape="box"];19 -> 27[label="",style="solid", color="black", weight=3]; 20[label="primMinusDouble (Double vuz30 vuz31) vuz4",fontsize=16,color="burlywood",shape="box"];1439[label="vuz4/Double vuz40 vuz41",fontsize=10,color="white",style="solid",shape="box"];20 -> 1439[label="",style="solid", color="burlywood", weight=9]; 1439 -> 28[label="",style="solid", color="burlywood", weight=3]; 21[label="primMinusFloat (Float vuz30 vuz31) (Float vuz40 vuz41)",fontsize=16,color="black",shape="box"];21 -> 29[label="",style="solid", color="black", weight=3]; 22[label="primMinusInt (Pos vuz30) (Pos vuz40)",fontsize=16,color="black",shape="box"];22 -> 30[label="",style="solid", color="black", weight=3]; 23[label="primMinusInt (Pos vuz30) (Neg vuz40)",fontsize=16,color="black",shape="box"];23 -> 31[label="",style="solid", color="black", weight=3]; 24[label="primMinusInt (Neg vuz30) (Pos vuz40)",fontsize=16,color="black",shape="box"];24 -> 32[label="",style="solid", color="black", weight=3]; 25[label="primMinusInt (Neg vuz30) (Neg vuz40)",fontsize=16,color="black",shape="box"];25 -> 33[label="",style="solid", color="black", weight=3]; 26[label="vuz30 :% vuz31 + (negate vuz40 :% vuz41)",fontsize=16,color="black",shape="box"];26 -> 34[label="",style="solid", color="black", weight=3]; 27[label="Integer (primMinusInt vuz30 vuz40)",fontsize=16,color="green",shape="box"];27 -> 35[label="",style="dashed", color="green", weight=3]; 28[label="primMinusDouble (Double vuz30 vuz31) (Double vuz40 vuz41)",fontsize=16,color="black",shape="box"];28 -> 36[label="",style="solid", color="black", weight=3]; 29[label="Float (vuz30 * vuz41 - vuz40 * vuz31) (vuz31 * vuz41)",fontsize=16,color="green",shape="box"];29 -> 37[label="",style="dashed", color="green", weight=3]; 29 -> 38[label="",style="dashed", color="green", weight=3]; 30[label="primMinusNat vuz30 vuz40",fontsize=16,color="burlywood",shape="triangle"];1440[label="vuz30/Succ vuz300",fontsize=10,color="white",style="solid",shape="box"];30 -> 1440[label="",style="solid", color="burlywood", weight=9]; 1440 -> 39[label="",style="solid", color="burlywood", weight=3]; 1441[label="vuz30/Zero",fontsize=10,color="white",style="solid",shape="box"];30 -> 1441[label="",style="solid", color="burlywood", weight=9]; 1441 -> 40[label="",style="solid", color="burlywood", weight=3]; 31[label="Pos (primPlusNat vuz30 vuz40)",fontsize=16,color="green",shape="box"];31 -> 41[label="",style="dashed", color="green", weight=3]; 32[label="Neg (primPlusNat vuz30 vuz40)",fontsize=16,color="green",shape="box"];32 -> 42[label="",style="dashed", color="green", weight=3]; 33 -> 30[label="",style="dashed", color="red", weight=0]; 33[label="primMinusNat vuz40 vuz30",fontsize=16,color="magenta"];33 -> 43[label="",style="dashed", color="magenta", weight=3]; 33 -> 44[label="",style="dashed", color="magenta", weight=3]; 34 -> 45[label="",style="dashed", color="red", weight=0]; 34[label="vuz30 :% vuz31 + (negate vuz40) :% vuz41",fontsize=16,color="magenta"];34 -> 46[label="",style="dashed", color="magenta", weight=3]; 34 -> 47[label="",style="dashed", color="magenta", weight=3]; 34 -> 48[label="",style="dashed", color="magenta", weight=3]; 34 -> 49[label="",style="dashed", color="magenta", weight=3]; 35 -> 11[label="",style="dashed", color="red", weight=0]; 35[label="primMinusInt vuz30 vuz40",fontsize=16,color="magenta"];35 -> 50[label="",style="dashed", color="magenta", weight=3]; 35 -> 51[label="",style="dashed", color="magenta", weight=3]; 36[label="Double (vuz30 * vuz41 - vuz40 * vuz31) (vuz31 * vuz41)",fontsize=16,color="green",shape="box"];36 -> 52[label="",style="dashed", color="green", weight=3]; 36 -> 53[label="",style="dashed", color="green", weight=3]; 37 -> 6[label="",style="dashed", color="red", weight=0]; 37[label="vuz30 * vuz41 - vuz40 * vuz31",fontsize=16,color="magenta"];37 -> 54[label="",style="dashed", color="magenta", weight=3]; 37 -> 55[label="",style="dashed", color="magenta", weight=3]; 38[label="vuz31 * vuz41",fontsize=16,color="black",shape="triangle"];38 -> 56[label="",style="solid", color="black", weight=3]; 39[label="primMinusNat (Succ vuz300) vuz40",fontsize=16,color="burlywood",shape="box"];1442[label="vuz40/Succ vuz400",fontsize=10,color="white",style="solid",shape="box"];39 -> 1442[label="",style="solid", color="burlywood", weight=9]; 1442 -> 57[label="",style="solid", color="burlywood", weight=3]; 1443[label="vuz40/Zero",fontsize=10,color="white",style="solid",shape="box"];39 -> 1443[label="",style="solid", color="burlywood", weight=9]; 1443 -> 58[label="",style="solid", color="burlywood", weight=3]; 40[label="primMinusNat Zero vuz40",fontsize=16,color="burlywood",shape="box"];1444[label="vuz40/Succ vuz400",fontsize=10,color="white",style="solid",shape="box"];40 -> 1444[label="",style="solid", color="burlywood", weight=9]; 1444 -> 59[label="",style="solid", color="burlywood", weight=3]; 1445[label="vuz40/Zero",fontsize=10,color="white",style="solid",shape="box"];40 -> 1445[label="",style="solid", color="burlywood", weight=9]; 1445 -> 60[label="",style="solid", color="burlywood", weight=3]; 41[label="primPlusNat vuz30 vuz40",fontsize=16,color="burlywood",shape="triangle"];1446[label="vuz30/Succ vuz300",fontsize=10,color="white",style="solid",shape="box"];41 -> 1446[label="",style="solid", color="burlywood", weight=9]; 1446 -> 61[label="",style="solid", color="burlywood", weight=3]; 1447[label="vuz30/Zero",fontsize=10,color="white",style="solid",shape="box"];41 -> 1447[label="",style="solid", color="burlywood", weight=9]; 1447 -> 62[label="",style="solid", color="burlywood", weight=3]; 42 -> 41[label="",style="dashed", color="red", weight=0]; 42[label="primPlusNat vuz30 vuz40",fontsize=16,color="magenta"];42 -> 63[label="",style="dashed", color="magenta", weight=3]; 42 -> 64[label="",style="dashed", color="magenta", weight=3]; 43[label="vuz40",fontsize=16,color="green",shape="box"];44[label="vuz30",fontsize=16,color="green",shape="box"];46[label="vuz41",fontsize=16,color="green",shape="box"];47[label="vuz30",fontsize=16,color="green",shape="box"];48[label="negate vuz40",fontsize=16,color="blue",shape="box"];1448[label="negate :: Int -> Int",fontsize=10,color="white",style="solid",shape="box"];48 -> 1448[label="",style="solid", color="blue", weight=9]; 1448 -> 65[label="",style="solid", color="blue", weight=3]; 1449[label="negate :: Integer -> Integer",fontsize=10,color="white",style="solid",shape="box"];48 -> 1449[label="",style="solid", color="blue", weight=9]; 1449 -> 66[label="",style="solid", color="blue", weight=3]; 49[label="vuz31",fontsize=16,color="green",shape="box"];45[label="vuz10 :% vuz11 + vuz12 :% vuz13",fontsize=16,color="black",shape="triangle"];45 -> 67[label="",style="solid", color="black", weight=3]; 50[label="vuz40",fontsize=16,color="green",shape="box"];51[label="vuz30",fontsize=16,color="green",shape="box"];52 -> 6[label="",style="dashed", color="red", weight=0]; 52[label="vuz30 * vuz41 - vuz40 * vuz31",fontsize=16,color="magenta"];52 -> 68[label="",style="dashed", color="magenta", weight=3]; 52 -> 69[label="",style="dashed", color="magenta", weight=3]; 53 -> 38[label="",style="dashed", color="red", weight=0]; 53[label="vuz31 * vuz41",fontsize=16,color="magenta"];53 -> 70[label="",style="dashed", color="magenta", weight=3]; 53 -> 71[label="",style="dashed", color="magenta", weight=3]; 54 -> 38[label="",style="dashed", color="red", weight=0]; 54[label="vuz40 * vuz31",fontsize=16,color="magenta"];54 -> 72[label="",style="dashed", color="magenta", weight=3]; 54 -> 73[label="",style="dashed", color="magenta", weight=3]; 55 -> 38[label="",style="dashed", color="red", weight=0]; 55[label="vuz30 * vuz41",fontsize=16,color="magenta"];55 -> 74[label="",style="dashed", color="magenta", weight=3]; 56[label="primMulInt vuz31 vuz41",fontsize=16,color="burlywood",shape="triangle"];1450[label="vuz31/Pos vuz310",fontsize=10,color="white",style="solid",shape="box"];56 -> 1450[label="",style="solid", color="burlywood", weight=9]; 1450 -> 75[label="",style="solid", color="burlywood", weight=3]; 1451[label="vuz31/Neg vuz310",fontsize=10,color="white",style="solid",shape="box"];56 -> 1451[label="",style="solid", color="burlywood", weight=9]; 1451 -> 76[label="",style="solid", color="burlywood", weight=3]; 57[label="primMinusNat (Succ vuz300) (Succ vuz400)",fontsize=16,color="black",shape="box"];57 -> 77[label="",style="solid", color="black", weight=3]; 58[label="primMinusNat (Succ vuz300) Zero",fontsize=16,color="black",shape="box"];58 -> 78[label="",style="solid", color="black", weight=3]; 59[label="primMinusNat Zero (Succ vuz400)",fontsize=16,color="black",shape="box"];59 -> 79[label="",style="solid", color="black", weight=3]; 60[label="primMinusNat Zero Zero",fontsize=16,color="black",shape="box"];60 -> 80[label="",style="solid", color="black", weight=3]; 61[label="primPlusNat (Succ vuz300) vuz40",fontsize=16,color="burlywood",shape="box"];1452[label="vuz40/Succ vuz400",fontsize=10,color="white",style="solid",shape="box"];61 -> 1452[label="",style="solid", color="burlywood", weight=9]; 1452 -> 81[label="",style="solid", color="burlywood", weight=3]; 1453[label="vuz40/Zero",fontsize=10,color="white",style="solid",shape="box"];61 -> 1453[label="",style="solid", color="burlywood", weight=9]; 1453 -> 82[label="",style="solid", color="burlywood", weight=3]; 62[label="primPlusNat Zero vuz40",fontsize=16,color="burlywood",shape="box"];1454[label="vuz40/Succ vuz400",fontsize=10,color="white",style="solid",shape="box"];62 -> 1454[label="",style="solid", color="burlywood", weight=9]; 1454 -> 83[label="",style="solid", color="burlywood", weight=3]; 1455[label="vuz40/Zero",fontsize=10,color="white",style="solid",shape="box"];62 -> 1455[label="",style="solid", color="burlywood", weight=9]; 1455 -> 84[label="",style="solid", color="burlywood", weight=3]; 63[label="vuz40",fontsize=16,color="green",shape="box"];64[label="vuz30",fontsize=16,color="green",shape="box"];65[label="negate vuz40",fontsize=16,color="black",shape="triangle"];65 -> 85[label="",style="solid", color="black", weight=3]; 66[label="negate vuz40",fontsize=16,color="burlywood",shape="triangle"];1456[label="vuz40/Integer vuz400",fontsize=10,color="white",style="solid",shape="box"];66 -> 1456[label="",style="solid", color="burlywood", weight=9]; 1456 -> 86[label="",style="solid", color="burlywood", weight=3]; 67[label="reduce (vuz10 * vuz13 + vuz12 * vuz11) (vuz11 * vuz13)",fontsize=16,color="black",shape="box"];67 -> 87[label="",style="solid", color="black", weight=3]; 68 -> 38[label="",style="dashed", color="red", weight=0]; 68[label="vuz40 * vuz31",fontsize=16,color="magenta"];68 -> 88[label="",style="dashed", color="magenta", weight=3]; 68 -> 89[label="",style="dashed", color="magenta", weight=3]; 69 -> 38[label="",style="dashed", color="red", weight=0]; 69[label="vuz30 * vuz41",fontsize=16,color="magenta"];69 -> 90[label="",style="dashed", color="magenta", weight=3]; 69 -> 91[label="",style="dashed", color="magenta", weight=3]; 70[label="vuz41",fontsize=16,color="green",shape="box"];71[label="vuz31",fontsize=16,color="green",shape="box"];72[label="vuz31",fontsize=16,color="green",shape="box"];73[label="vuz40",fontsize=16,color="green",shape="box"];74[label="vuz30",fontsize=16,color="green",shape="box"];75[label="primMulInt (Pos vuz310) vuz41",fontsize=16,color="burlywood",shape="box"];1457[label="vuz41/Pos vuz410",fontsize=10,color="white",style="solid",shape="box"];75 -> 1457[label="",style="solid", color="burlywood", weight=9]; 1457 -> 92[label="",style="solid", color="burlywood", weight=3]; 1458[label="vuz41/Neg vuz410",fontsize=10,color="white",style="solid",shape="box"];75 -> 1458[label="",style="solid", color="burlywood", weight=9]; 1458 -> 93[label="",style="solid", color="burlywood", weight=3]; 76[label="primMulInt (Neg vuz310) vuz41",fontsize=16,color="burlywood",shape="box"];1459[label="vuz41/Pos vuz410",fontsize=10,color="white",style="solid",shape="box"];76 -> 1459[label="",style="solid", color="burlywood", weight=9]; 1459 -> 94[label="",style="solid", color="burlywood", weight=3]; 1460[label="vuz41/Neg vuz410",fontsize=10,color="white",style="solid",shape="box"];76 -> 1460[label="",style="solid", color="burlywood", weight=9]; 1460 -> 95[label="",style="solid", color="burlywood", weight=3]; 77 -> 30[label="",style="dashed", color="red", weight=0]; 77[label="primMinusNat vuz300 vuz400",fontsize=16,color="magenta"];77 -> 96[label="",style="dashed", color="magenta", weight=3]; 77 -> 97[label="",style="dashed", color="magenta", weight=3]; 78[label="Pos (Succ vuz300)",fontsize=16,color="green",shape="box"];79[label="Neg (Succ vuz400)",fontsize=16,color="green",shape="box"];80[label="Pos Zero",fontsize=16,color="green",shape="box"];81[label="primPlusNat (Succ vuz300) (Succ vuz400)",fontsize=16,color="black",shape="box"];81 -> 98[label="",style="solid", color="black", weight=3]; 82[label="primPlusNat (Succ vuz300) Zero",fontsize=16,color="black",shape="box"];82 -> 99[label="",style="solid", color="black", weight=3]; 83[label="primPlusNat Zero (Succ vuz400)",fontsize=16,color="black",shape="box"];83 -> 100[label="",style="solid", color="black", weight=3]; 84[label="primPlusNat Zero Zero",fontsize=16,color="black",shape="box"];84 -> 101[label="",style="solid", color="black", weight=3]; 85[label="primNegInt vuz40",fontsize=16,color="burlywood",shape="triangle"];1461[label="vuz40/Pos vuz400",fontsize=10,color="white",style="solid",shape="box"];85 -> 1461[label="",style="solid", color="burlywood", weight=9]; 1461 -> 102[label="",style="solid", color="burlywood", weight=3]; 1462[label="vuz40/Neg vuz400",fontsize=10,color="white",style="solid",shape="box"];85 -> 1462[label="",style="solid", color="burlywood", weight=9]; 1462 -> 103[label="",style="solid", color="burlywood", weight=3]; 86[label="negate Integer vuz400",fontsize=16,color="black",shape="box"];86 -> 104[label="",style="solid", color="black", weight=3]; 87[label="reduce2 (vuz10 * vuz13 + vuz12 * vuz11) (vuz11 * vuz13)",fontsize=16,color="black",shape="box"];87 -> 105[label="",style="solid", color="black", weight=3]; 88[label="vuz31",fontsize=16,color="green",shape="box"];89[label="vuz40",fontsize=16,color="green",shape="box"];90[label="vuz41",fontsize=16,color="green",shape="box"];91[label="vuz30",fontsize=16,color="green",shape="box"];92[label="primMulInt (Pos vuz310) (Pos vuz410)",fontsize=16,color="black",shape="box"];92 -> 106[label="",style="solid", color="black", weight=3]; 93[label="primMulInt (Pos vuz310) (Neg vuz410)",fontsize=16,color="black",shape="box"];93 -> 107[label="",style="solid", color="black", weight=3]; 94[label="primMulInt (Neg vuz310) (Pos vuz410)",fontsize=16,color="black",shape="box"];94 -> 108[label="",style="solid", color="black", weight=3]; 95[label="primMulInt (Neg vuz310) (Neg vuz410)",fontsize=16,color="black",shape="box"];95 -> 109[label="",style="solid", color="black", weight=3]; 96[label="vuz300",fontsize=16,color="green",shape="box"];97[label="vuz400",fontsize=16,color="green",shape="box"];98[label="Succ (Succ (primPlusNat vuz300 vuz400))",fontsize=16,color="green",shape="box"];98 -> 110[label="",style="dashed", color="green", weight=3]; 99[label="Succ vuz300",fontsize=16,color="green",shape="box"];100[label="Succ vuz400",fontsize=16,color="green",shape="box"];101[label="Zero",fontsize=16,color="green",shape="box"];102[label="primNegInt (Pos vuz400)",fontsize=16,color="black",shape="box"];102 -> 111[label="",style="solid", color="black", weight=3]; 103[label="primNegInt (Neg vuz400)",fontsize=16,color="black",shape="box"];103 -> 112[label="",style="solid", color="black", weight=3]; 104[label="Integer (primNegInt vuz400)",fontsize=16,color="green",shape="box"];104 -> 113[label="",style="dashed", color="green", weight=3]; 105 -> 114[label="",style="dashed", color="red", weight=0]; 105[label="reduce2Reduce1 (vuz10 * vuz13 + vuz12 * vuz11) (vuz11 * vuz13) (vuz10 * vuz13 + vuz12 * vuz11) (vuz11 * vuz13) (vuz11 * vuz13 == fromInt (Pos Zero))",fontsize=16,color="magenta"];105 -> 115[label="",style="dashed", color="magenta", weight=3]; 105 -> 116[label="",style="dashed", color="magenta", weight=3]; 105 -> 117[label="",style="dashed", color="magenta", weight=3]; 105 -> 118[label="",style="dashed", color="magenta", weight=3]; 105 -> 119[label="",style="dashed", color="magenta", weight=3]; 106[label="Pos (primMulNat vuz310 vuz410)",fontsize=16,color="green",shape="box"];106 -> 120[label="",style="dashed", color="green", weight=3]; 107[label="Neg (primMulNat vuz310 vuz410)",fontsize=16,color="green",shape="box"];107 -> 121[label="",style="dashed", color="green", weight=3]; 108[label="Neg (primMulNat vuz310 vuz410)",fontsize=16,color="green",shape="box"];108 -> 122[label="",style="dashed", color="green", weight=3]; 109[label="Pos (primMulNat vuz310 vuz410)",fontsize=16,color="green",shape="box"];109 -> 123[label="",style="dashed", color="green", weight=3]; 110 -> 41[label="",style="dashed", color="red", weight=0]; 110[label="primPlusNat vuz300 vuz400",fontsize=16,color="magenta"];110 -> 124[label="",style="dashed", color="magenta", weight=3]; 110 -> 125[label="",style="dashed", color="magenta", weight=3]; 111[label="Neg vuz400",fontsize=16,color="green",shape="box"];112[label="Pos vuz400",fontsize=16,color="green",shape="box"];113 -> 85[label="",style="dashed", color="red", weight=0]; 113[label="primNegInt vuz400",fontsize=16,color="magenta"];113 -> 126[label="",style="dashed", color="magenta", weight=3]; 115[label="vuz13",fontsize=16,color="green",shape="box"];116[label="vuz12",fontsize=16,color="green",shape="box"];117[label="vuz10",fontsize=16,color="green",shape="box"];118[label="vuz11 * vuz13 == fromInt (Pos Zero)",fontsize=16,color="blue",shape="box"];1463[label="== :: Integer -> Integer -> Bool",fontsize=10,color="white",style="solid",shape="box"];118 -> 1463[label="",style="solid", color="blue", weight=9]; 1463 -> 127[label="",style="solid", color="blue", weight=3]; 1464[label="== :: Int -> Int -> Bool",fontsize=10,color="white",style="solid",shape="box"];118 -> 1464[label="",style="solid", color="blue", weight=9]; 1464 -> 128[label="",style="solid", color="blue", weight=3]; 119[label="vuz11",fontsize=16,color="green",shape="box"];114[label="reduce2Reduce1 (vuz20 * vuz21 + vuz22 * vuz23) (vuz23 * vuz21) (vuz20 * vuz21 + vuz22 * vuz23) (vuz23 * vuz21) vuz24",fontsize=16,color="burlywood",shape="triangle"];1465[label="vuz24/False",fontsize=10,color="white",style="solid",shape="box"];114 -> 1465[label="",style="solid", color="burlywood", weight=9]; 1465 -> 129[label="",style="solid", color="burlywood", weight=3]; 1466[label="vuz24/True",fontsize=10,color="white",style="solid",shape="box"];114 -> 1466[label="",style="solid", color="burlywood", weight=9]; 1466 -> 130[label="",style="solid", color="burlywood", weight=3]; 120[label="primMulNat vuz310 vuz410",fontsize=16,color="burlywood",shape="triangle"];1467[label="vuz310/Succ vuz3100",fontsize=10,color="white",style="solid",shape="box"];120 -> 1467[label="",style="solid", color="burlywood", weight=9]; 1467 -> 131[label="",style="solid", color="burlywood", weight=3]; 1468[label="vuz310/Zero",fontsize=10,color="white",style="solid",shape="box"];120 -> 1468[label="",style="solid", color="burlywood", weight=9]; 1468 -> 132[label="",style="solid", color="burlywood", weight=3]; 121 -> 120[label="",style="dashed", color="red", weight=0]; 121[label="primMulNat vuz310 vuz410",fontsize=16,color="magenta"];121 -> 133[label="",style="dashed", color="magenta", weight=3]; 122 -> 120[label="",style="dashed", color="red", weight=0]; 122[label="primMulNat vuz310 vuz410",fontsize=16,color="magenta"];122 -> 134[label="",style="dashed", color="magenta", weight=3]; 123 -> 120[label="",style="dashed", color="red", weight=0]; 123[label="primMulNat vuz310 vuz410",fontsize=16,color="magenta"];123 -> 135[label="",style="dashed", color="magenta", weight=3]; 123 -> 136[label="",style="dashed", color="magenta", weight=3]; 124[label="vuz400",fontsize=16,color="green",shape="box"];125[label="vuz300",fontsize=16,color="green",shape="box"];126[label="vuz400",fontsize=16,color="green",shape="box"];127 -> 1043[label="",style="dashed", color="red", weight=0]; 127[label="vuz11 * vuz13 == fromInt (Pos Zero)",fontsize=16,color="magenta"];127 -> 1044[label="",style="dashed", color="magenta", weight=3]; 128 -> 138[label="",style="dashed", color="red", weight=0]; 128[label="vuz11 * vuz13 == fromInt (Pos Zero)",fontsize=16,color="magenta"];128 -> 139[label="",style="dashed", color="magenta", weight=3]; 129[label="reduce2Reduce1 (vuz20 * vuz21 + vuz22 * vuz23) (vuz23 * vuz21) (vuz20 * vuz21 + vuz22 * vuz23) (vuz23 * vuz21) False",fontsize=16,color="black",shape="box"];129 -> 140[label="",style="solid", color="black", weight=3]; 130[label="reduce2Reduce1 (vuz20 * vuz21 + vuz22 * vuz23) (vuz23 * vuz21) (vuz20 * vuz21 + vuz22 * vuz23) (vuz23 * vuz21) True",fontsize=16,color="black",shape="box"];130 -> 141[label="",style="solid", color="black", weight=3]; 131[label="primMulNat (Succ vuz3100) vuz410",fontsize=16,color="burlywood",shape="box"];1469[label="vuz410/Succ vuz4100",fontsize=10,color="white",style="solid",shape="box"];131 -> 1469[label="",style="solid", color="burlywood", weight=9]; 1469 -> 142[label="",style="solid", color="burlywood", weight=3]; 1470[label="vuz410/Zero",fontsize=10,color="white",style="solid",shape="box"];131 -> 1470[label="",style="solid", color="burlywood", weight=9]; 1470 -> 143[label="",style="solid", color="burlywood", weight=3]; 132[label="primMulNat Zero vuz410",fontsize=16,color="burlywood",shape="box"];1471[label="vuz410/Succ vuz4100",fontsize=10,color="white",style="solid",shape="box"];132 -> 1471[label="",style="solid", color="burlywood", weight=9]; 1471 -> 144[label="",style="solid", color="burlywood", weight=3]; 1472[label="vuz410/Zero",fontsize=10,color="white",style="solid",shape="box"];132 -> 1472[label="",style="solid", color="burlywood", weight=9]; 1472 -> 145[label="",style="solid", color="burlywood", weight=3]; 133[label="vuz410",fontsize=16,color="green",shape="box"];134[label="vuz310",fontsize=16,color="green",shape="box"];135[label="vuz310",fontsize=16,color="green",shape="box"];136[label="vuz410",fontsize=16,color="green",shape="box"];1044[label="vuz11 * vuz13",fontsize=16,color="burlywood",shape="triangle"];1473[label="vuz11/Integer vuz110",fontsize=10,color="white",style="solid",shape="box"];1044 -> 1473[label="",style="solid", color="burlywood", weight=9]; 1473 -> 1054[label="",style="solid", color="burlywood", weight=3]; 1043[label="vuz101 == fromInt (Pos Zero)",fontsize=16,color="burlywood",shape="triangle"];1474[label="vuz101/Integer vuz1010",fontsize=10,color="white",style="solid",shape="box"];1043 -> 1474[label="",style="solid", color="burlywood", weight=9]; 1474 -> 1055[label="",style="solid", color="burlywood", weight=3]; 139 -> 38[label="",style="dashed", color="red", weight=0]; 139[label="vuz11 * vuz13",fontsize=16,color="magenta"];139 -> 147[label="",style="dashed", color="magenta", weight=3]; 139 -> 148[label="",style="dashed", color="magenta", weight=3]; 138[label="vuz25 == fromInt (Pos Zero)",fontsize=16,color="black",shape="triangle"];138 -> 149[label="",style="solid", color="black", weight=3]; 140[label="reduce2Reduce0 (vuz20 * vuz21 + vuz22 * vuz23) (vuz23 * vuz21) (vuz20 * vuz21 + vuz22 * vuz23) (vuz23 * vuz21) otherwise",fontsize=16,color="black",shape="box"];140 -> 150[label="",style="solid", color="black", weight=3]; 141[label="error []",fontsize=16,color="black",shape="box"];141 -> 151[label="",style="solid", color="black", weight=3]; 142[label="primMulNat (Succ vuz3100) (Succ vuz4100)",fontsize=16,color="black",shape="box"];142 -> 152[label="",style="solid", color="black", weight=3]; 143[label="primMulNat (Succ vuz3100) Zero",fontsize=16,color="black",shape="box"];143 -> 153[label="",style="solid", color="black", weight=3]; 144[label="primMulNat Zero (Succ vuz4100)",fontsize=16,color="black",shape="box"];144 -> 154[label="",style="solid", color="black", weight=3]; 145[label="primMulNat Zero Zero",fontsize=16,color="black",shape="box"];145 -> 155[label="",style="solid", color="black", weight=3]; 1054[label="Integer vuz110 * vuz13",fontsize=16,color="burlywood",shape="box"];1475[label="vuz13/Integer vuz130",fontsize=10,color="white",style="solid",shape="box"];1054 -> 1475[label="",style="solid", color="burlywood", weight=9]; 1475 -> 1062[label="",style="solid", color="burlywood", weight=3]; 1055[label="Integer vuz1010 == fromInt (Pos Zero)",fontsize=16,color="black",shape="box"];1055 -> 1063[label="",style="solid", color="black", weight=3]; 147[label="vuz13",fontsize=16,color="green",shape="box"];148[label="vuz11",fontsize=16,color="green",shape="box"];149[label="primEqInt vuz25 (fromInt (Pos Zero))",fontsize=16,color="burlywood",shape="box"];1476[label="vuz25/Pos vuz250",fontsize=10,color="white",style="solid",shape="box"];149 -> 1476[label="",style="solid", color="burlywood", weight=9]; 1476 -> 157[label="",style="solid", color="burlywood", weight=3]; 1477[label="vuz25/Neg vuz250",fontsize=10,color="white",style="solid",shape="box"];149 -> 1477[label="",style="solid", color="burlywood", weight=9]; 1477 -> 158[label="",style="solid", color="burlywood", weight=3]; 150[label="reduce2Reduce0 (vuz20 * vuz21 + vuz22 * vuz23) (vuz23 * vuz21) (vuz20 * vuz21 + vuz22 * vuz23) (vuz23 * vuz21) True",fontsize=16,color="black",shape="box"];150 -> 159[label="",style="solid", color="black", weight=3]; 151[label="error []",fontsize=16,color="red",shape="box"];152 -> 41[label="",style="dashed", color="red", weight=0]; 152[label="primPlusNat (primMulNat vuz3100 (Succ vuz4100)) (Succ vuz4100)",fontsize=16,color="magenta"];152 -> 160[label="",style="dashed", color="magenta", weight=3]; 152 -> 161[label="",style="dashed", color="magenta", weight=3]; 153[label="Zero",fontsize=16,color="green",shape="box"];154[label="Zero",fontsize=16,color="green",shape="box"];155[label="Zero",fontsize=16,color="green",shape="box"];1062[label="Integer vuz110 * Integer vuz130",fontsize=16,color="black",shape="box"];1062 -> 1088[label="",style="solid", color="black", weight=3]; 1063[label="Integer vuz1010 == Integer (Pos Zero)",fontsize=16,color="black",shape="box"];1063 -> 1089[label="",style="solid", color="black", weight=3]; 157[label="primEqInt (Pos vuz250) (fromInt (Pos Zero))",fontsize=16,color="burlywood",shape="box"];1478[label="vuz250/Succ vuz2500",fontsize=10,color="white",style="solid",shape="box"];157 -> 1478[label="",style="solid", color="burlywood", weight=9]; 1478 -> 164[label="",style="solid", color="burlywood", weight=3]; 1479[label="vuz250/Zero",fontsize=10,color="white",style="solid",shape="box"];157 -> 1479[label="",style="solid", color="burlywood", weight=9]; 1479 -> 165[label="",style="solid", color="burlywood", weight=3]; 158[label="primEqInt (Neg vuz250) (fromInt (Pos Zero))",fontsize=16,color="burlywood",shape="box"];1480[label="vuz250/Succ vuz2500",fontsize=10,color="white",style="solid",shape="box"];158 -> 1480[label="",style="solid", color="burlywood", weight=9]; 1480 -> 166[label="",style="solid", color="burlywood", weight=3]; 1481[label="vuz250/Zero",fontsize=10,color="white",style="solid",shape="box"];158 -> 1481[label="",style="solid", color="burlywood", weight=9]; 1481 -> 167[label="",style="solid", color="burlywood", weight=3]; 159[label="(vuz20 * vuz21 + vuz22 * vuz23) `quot` reduce2D (vuz20 * vuz21 + vuz22 * vuz23) (vuz23 * vuz21) :% (vuz23 * vuz21 `quot` reduce2D (vuz20 * vuz21 + vuz22 * vuz23) (vuz23 * vuz21))",fontsize=16,color="green",shape="box"];159 -> 168[label="",style="dashed", color="green", weight=3]; 159 -> 169[label="",style="dashed", color="green", weight=3]; 160[label="Succ vuz4100",fontsize=16,color="green",shape="box"];161 -> 120[label="",style="dashed", color="red", weight=0]; 161[label="primMulNat vuz3100 (Succ vuz4100)",fontsize=16,color="magenta"];161 -> 170[label="",style="dashed", color="magenta", weight=3]; 161 -> 171[label="",style="dashed", color="magenta", weight=3]; 1088[label="Integer (primMulInt vuz110 vuz130)",fontsize=16,color="green",shape="box"];1088 -> 1139[label="",style="dashed", color="green", weight=3]; 1089[label="primEqInt vuz1010 (Pos Zero)",fontsize=16,color="burlywood",shape="box"];1482[label="vuz1010/Pos vuz10100",fontsize=10,color="white",style="solid",shape="box"];1089 -> 1482[label="",style="solid", color="burlywood", weight=9]; 1482 -> 1140[label="",style="solid", color="burlywood", weight=3]; 1483[label="vuz1010/Neg vuz10100",fontsize=10,color="white",style="solid",shape="box"];1089 -> 1483[label="",style="solid", color="burlywood", weight=9]; 1483 -> 1141[label="",style="solid", color="burlywood", weight=3]; 164[label="primEqInt (Pos (Succ vuz2500)) (fromInt (Pos Zero))",fontsize=16,color="black",shape="box"];164 -> 175[label="",style="solid", color="black", weight=3]; 165[label="primEqInt (Pos Zero) (fromInt (Pos Zero))",fontsize=16,color="black",shape="box"];165 -> 176[label="",style="solid", color="black", weight=3]; 166[label="primEqInt (Neg (Succ vuz2500)) (fromInt (Pos Zero))",fontsize=16,color="black",shape="box"];166 -> 177[label="",style="solid", color="black", weight=3]; 167[label="primEqInt (Neg Zero) (fromInt (Pos Zero))",fontsize=16,color="black",shape="box"];167 -> 178[label="",style="solid", color="black", weight=3]; 168[label="(vuz20 * vuz21 + vuz22 * vuz23) `quot` reduce2D (vuz20 * vuz21 + vuz22 * vuz23) (vuz23 * vuz21)",fontsize=16,color="blue",shape="box"];1484[label="`quot` :: Integer -> Integer -> Integer",fontsize=10,color="white",style="solid",shape="box"];168 -> 1484[label="",style="solid", color="blue", weight=9]; 1484 -> 179[label="",style="solid", color="blue", weight=3]; 1485[label="`quot` :: Int -> Int -> Int",fontsize=10,color="white",style="solid",shape="box"];168 -> 1485[label="",style="solid", color="blue", weight=9]; 1485 -> 180[label="",style="solid", color="blue", weight=3]; 169[label="vuz23 * vuz21 `quot` reduce2D (vuz20 * vuz21 + vuz22 * vuz23) (vuz23 * vuz21)",fontsize=16,color="blue",shape="box"];1486[label="`quot` :: Integer -> Integer -> Integer",fontsize=10,color="white",style="solid",shape="box"];169 -> 1486[label="",style="solid", color="blue", weight=9]; 1486 -> 181[label="",style="solid", color="blue", weight=3]; 1487[label="`quot` :: Int -> Int -> Int",fontsize=10,color="white",style="solid",shape="box"];169 -> 1487[label="",style="solid", color="blue", weight=9]; 1487 -> 182[label="",style="solid", color="blue", weight=3]; 170[label="vuz3100",fontsize=16,color="green",shape="box"];171[label="Succ vuz4100",fontsize=16,color="green",shape="box"];1139 -> 56[label="",style="dashed", color="red", weight=0]; 1139[label="primMulInt vuz110 vuz130",fontsize=16,color="magenta"];1139 -> 1155[label="",style="dashed", color="magenta", weight=3]; 1139 -> 1156[label="",style="dashed", color="magenta", weight=3]; 1140[label="primEqInt (Pos vuz10100) (Pos Zero)",fontsize=16,color="burlywood",shape="box"];1488[label="vuz10100/Succ vuz101000",fontsize=10,color="white",style="solid",shape="box"];1140 -> 1488[label="",style="solid", color="burlywood", weight=9]; 1488 -> 1157[label="",style="solid", color="burlywood", weight=3]; 1489[label="vuz10100/Zero",fontsize=10,color="white",style="solid",shape="box"];1140 -> 1489[label="",style="solid", color="burlywood", weight=9]; 1489 -> 1158[label="",style="solid", color="burlywood", weight=3]; 1141[label="primEqInt (Neg vuz10100) (Pos Zero)",fontsize=16,color="burlywood",shape="box"];1490[label="vuz10100/Succ vuz101000",fontsize=10,color="white",style="solid",shape="box"];1141 -> 1490[label="",style="solid", color="burlywood", weight=9]; 1490 -> 1159[label="",style="solid", color="burlywood", weight=3]; 1491[label="vuz10100/Zero",fontsize=10,color="white",style="solid",shape="box"];1141 -> 1491[label="",style="solid", color="burlywood", weight=9]; 1491 -> 1160[label="",style="solid", color="burlywood", weight=3]; 175[label="primEqInt (Pos (Succ vuz2500)) (Pos Zero)",fontsize=16,color="black",shape="box"];175 -> 184[label="",style="solid", color="black", weight=3]; 176[label="primEqInt (Pos Zero) (Pos Zero)",fontsize=16,color="black",shape="box"];176 -> 185[label="",style="solid", color="black", weight=3]; 177[label="primEqInt (Neg (Succ vuz2500)) (Pos Zero)",fontsize=16,color="black",shape="box"];177 -> 186[label="",style="solid", color="black", weight=3]; 178[label="primEqInt (Neg Zero) (Pos Zero)",fontsize=16,color="black",shape="box"];178 -> 187[label="",style="solid", color="black", weight=3]; 179[label="(vuz20 * vuz21 + vuz22 * vuz23) `quot` reduce2D (vuz20 * vuz21 + vuz22 * vuz23) (vuz23 * vuz21)",fontsize=16,color="burlywood",shape="box"];1492[label="vuz20/Integer vuz200",fontsize=10,color="white",style="solid",shape="box"];179 -> 1492[label="",style="solid", color="burlywood", weight=9]; 1492 -> 188[label="",style="solid", color="burlywood", weight=3]; 180 -> 221[label="",style="dashed", color="red", weight=0]; 180[label="(vuz20 * vuz21 + vuz22 * vuz23) `quot` reduce2D (vuz20 * vuz21 + vuz22 * vuz23) (vuz23 * vuz21)",fontsize=16,color="magenta"];180 -> 222[label="",style="dashed", color="magenta", weight=3]; 180 -> 223[label="",style="dashed", color="magenta", weight=3]; 180 -> 224[label="",style="dashed", color="magenta", weight=3]; 181[label="vuz23 * vuz21 `quot` reduce2D (vuz20 * vuz21 + vuz22 * vuz23) (vuz23 * vuz21)",fontsize=16,color="burlywood",shape="box"];1493[label="vuz23/Integer vuz230",fontsize=10,color="white",style="solid",shape="box"];181 -> 1493[label="",style="solid", color="burlywood", weight=9]; 1493 -> 195[label="",style="solid", color="burlywood", weight=3]; 182 -> 221[label="",style="dashed", color="red", weight=0]; 182[label="vuz23 * vuz21 `quot` reduce2D (vuz20 * vuz21 + vuz22 * vuz23) (vuz23 * vuz21)",fontsize=16,color="magenta"];182 -> 225[label="",style="dashed", color="magenta", weight=3]; 182 -> 226[label="",style="dashed", color="magenta", weight=3]; 182 -> 227[label="",style="dashed", color="magenta", weight=3]; 1155[label="vuz130",fontsize=16,color="green",shape="box"];1156[label="vuz110",fontsize=16,color="green",shape="box"];1157[label="primEqInt (Pos (Succ vuz101000)) (Pos Zero)",fontsize=16,color="black",shape="box"];1157 -> 1176[label="",style="solid", color="black", weight=3]; 1158[label="primEqInt (Pos Zero) (Pos Zero)",fontsize=16,color="black",shape="box"];1158 -> 1177[label="",style="solid", color="black", weight=3]; 1159[label="primEqInt (Neg (Succ vuz101000)) (Pos Zero)",fontsize=16,color="black",shape="box"];1159 -> 1178[label="",style="solid", color="black", weight=3]; 1160[label="primEqInt (Neg Zero) (Pos Zero)",fontsize=16,color="black",shape="box"];1160 -> 1179[label="",style="solid", color="black", weight=3]; 184[label="False",fontsize=16,color="green",shape="box"];185[label="True",fontsize=16,color="green",shape="box"];186[label="False",fontsize=16,color="green",shape="box"];187[label="True",fontsize=16,color="green",shape="box"];188[label="(Integer vuz200 * vuz21 + vuz22 * vuz23) `quot` reduce2D (Integer vuz200 * vuz21 + vuz22 * vuz23) (vuz23 * vuz21)",fontsize=16,color="burlywood",shape="box"];1494[label="vuz21/Integer vuz210",fontsize=10,color="white",style="solid",shape="box"];188 -> 1494[label="",style="solid", color="burlywood", weight=9]; 1494 -> 211[label="",style="solid", color="burlywood", weight=3]; 222 -> 38[label="",style="dashed", color="red", weight=0]; 222[label="vuz23 * vuz21",fontsize=16,color="magenta"];222 -> 229[label="",style="dashed", color="magenta", weight=3]; 222 -> 230[label="",style="dashed", color="magenta", weight=3]; 223 -> 231[label="",style="dashed", color="red", weight=0]; 223[label="vuz20 * vuz21 + vuz22 * vuz23",fontsize=16,color="magenta"];223 -> 232[label="",style="dashed", color="magenta", weight=3]; 223 -> 233[label="",style="dashed", color="magenta", weight=3]; 224 -> 231[label="",style="dashed", color="red", weight=0]; 224[label="vuz20 * vuz21 + vuz22 * vuz23",fontsize=16,color="magenta"];224 -> 234[label="",style="dashed", color="magenta", weight=3]; 224 -> 235[label="",style="dashed", color="magenta", weight=3]; 221[label="vuz32 `quot` reduce2D vuz38 vuz33",fontsize=16,color="black",shape="triangle"];221 -> 238[label="",style="solid", color="black", weight=3]; 195[label="Integer vuz230 * vuz21 `quot` reduce2D (vuz20 * vuz21 + vuz22 * Integer vuz230) (Integer vuz230 * vuz21)",fontsize=16,color="burlywood",shape="box"];1495[label="vuz21/Integer vuz210",fontsize=10,color="white",style="solid",shape="box"];195 -> 1495[label="",style="solid", color="burlywood", weight=9]; 1495 -> 239[label="",style="solid", color="burlywood", weight=3]; 225 -> 38[label="",style="dashed", color="red", weight=0]; 225[label="vuz23 * vuz21",fontsize=16,color="magenta"];225 -> 240[label="",style="dashed", color="magenta", weight=3]; 225 -> 241[label="",style="dashed", color="magenta", weight=3]; 226 -> 231[label="",style="dashed", color="red", weight=0]; 226[label="vuz20 * vuz21 + vuz22 * vuz23",fontsize=16,color="magenta"];226 -> 236[label="",style="dashed", color="magenta", weight=3]; 226 -> 237[label="",style="dashed", color="magenta", weight=3]; 227 -> 38[label="",style="dashed", color="red", weight=0]; 227[label="vuz23 * vuz21",fontsize=16,color="magenta"];227 -> 242[label="",style="dashed", color="magenta", weight=3]; 227 -> 243[label="",style="dashed", color="magenta", weight=3]; 1176[label="False",fontsize=16,color="green",shape="box"];1177[label="True",fontsize=16,color="green",shape="box"];1178[label="False",fontsize=16,color="green",shape="box"];1179[label="True",fontsize=16,color="green",shape="box"];211[label="(Integer vuz200 * Integer vuz210 + vuz22 * vuz23) `quot` reduce2D (Integer vuz200 * Integer vuz210 + vuz22 * vuz23) (vuz23 * Integer vuz210)",fontsize=16,color="black",shape="box"];211 -> 248[label="",style="solid", color="black", weight=3]; 229[label="vuz21",fontsize=16,color="green",shape="box"];230[label="vuz23",fontsize=16,color="green",shape="box"];232 -> 38[label="",style="dashed", color="red", weight=0]; 232[label="vuz20 * vuz21",fontsize=16,color="magenta"];232 -> 249[label="",style="dashed", color="magenta", weight=3]; 232 -> 250[label="",style="dashed", color="magenta", weight=3]; 233 -> 38[label="",style="dashed", color="red", weight=0]; 233[label="vuz22 * vuz23",fontsize=16,color="magenta"];233 -> 251[label="",style="dashed", color="magenta", weight=3]; 233 -> 252[label="",style="dashed", color="magenta", weight=3]; 231[label="vuz40 + vuz39",fontsize=16,color="black",shape="triangle"];231 -> 253[label="",style="solid", color="black", weight=3]; 234 -> 38[label="",style="dashed", color="red", weight=0]; 234[label="vuz20 * vuz21",fontsize=16,color="magenta"];234 -> 254[label="",style="dashed", color="magenta", weight=3]; 234 -> 255[label="",style="dashed", color="magenta", weight=3]; 235 -> 38[label="",style="dashed", color="red", weight=0]; 235[label="vuz22 * vuz23",fontsize=16,color="magenta"];235 -> 256[label="",style="dashed", color="magenta", weight=3]; 235 -> 257[label="",style="dashed", color="magenta", weight=3]; 238[label="primQuotInt vuz32 (reduce2D vuz38 vuz33)",fontsize=16,color="burlywood",shape="box"];1496[label="vuz32/Pos vuz320",fontsize=10,color="white",style="solid",shape="box"];238 -> 1496[label="",style="solid", color="burlywood", weight=9]; 1496 -> 262[label="",style="solid", color="burlywood", weight=3]; 1497[label="vuz32/Neg vuz320",fontsize=10,color="white",style="solid",shape="box"];238 -> 1497[label="",style="solid", color="burlywood", weight=9]; 1497 -> 263[label="",style="solid", color="burlywood", weight=3]; 239[label="Integer vuz230 * Integer vuz210 `quot` reduce2D (vuz20 * Integer vuz210 + vuz22 * Integer vuz230) (Integer vuz230 * Integer vuz210)",fontsize=16,color="black",shape="box"];239 -> 264[label="",style="solid", color="black", weight=3]; 240[label="vuz21",fontsize=16,color="green",shape="box"];241[label="vuz23",fontsize=16,color="green",shape="box"];236 -> 38[label="",style="dashed", color="red", weight=0]; 236[label="vuz20 * vuz21",fontsize=16,color="magenta"];236 -> 258[label="",style="dashed", color="magenta", weight=3]; 236 -> 259[label="",style="dashed", color="magenta", weight=3]; 237 -> 38[label="",style="dashed", color="red", weight=0]; 237[label="vuz22 * vuz23",fontsize=16,color="magenta"];237 -> 260[label="",style="dashed", color="magenta", weight=3]; 237 -> 261[label="",style="dashed", color="magenta", weight=3]; 242[label="vuz21",fontsize=16,color="green",shape="box"];243[label="vuz23",fontsize=16,color="green",shape="box"];248 -> 269[label="",style="dashed", color="red", weight=0]; 248[label="(Integer (primMulInt vuz200 vuz210) + vuz22 * vuz23) `quot` reduce2D (Integer (primMulInt vuz200 vuz210) + vuz22 * vuz23) (vuz23 * Integer vuz210)",fontsize=16,color="magenta"];248 -> 270[label="",style="dashed", color="magenta", weight=3]; 248 -> 271[label="",style="dashed", color="magenta", weight=3]; 249[label="vuz21",fontsize=16,color="green",shape="box"];250[label="vuz20",fontsize=16,color="green",shape="box"];251[label="vuz23",fontsize=16,color="green",shape="box"];252[label="vuz22",fontsize=16,color="green",shape="box"];253[label="primPlusInt vuz40 vuz39",fontsize=16,color="burlywood",shape="triangle"];1498[label="vuz40/Pos vuz400",fontsize=10,color="white",style="solid",shape="box"];253 -> 1498[label="",style="solid", color="burlywood", weight=9]; 1498 -> 272[label="",style="solid", color="burlywood", weight=3]; 1499[label="vuz40/Neg vuz400",fontsize=10,color="white",style="solid",shape="box"];253 -> 1499[label="",style="solid", color="burlywood", weight=9]; 1499 -> 273[label="",style="solid", color="burlywood", weight=3]; 254[label="vuz21",fontsize=16,color="green",shape="box"];255[label="vuz20",fontsize=16,color="green",shape="box"];256[label="vuz23",fontsize=16,color="green",shape="box"];257[label="vuz22",fontsize=16,color="green",shape="box"];262[label="primQuotInt (Pos vuz320) (reduce2D vuz38 vuz33)",fontsize=16,color="black",shape="box"];262 -> 274[label="",style="solid", color="black", weight=3]; 263[label="primQuotInt (Neg vuz320) (reduce2D vuz38 vuz33)",fontsize=16,color="black",shape="box"];263 -> 275[label="",style="solid", color="black", weight=3]; 264 -> 276[label="",style="dashed", color="red", weight=0]; 264[label="Integer (primMulInt vuz230 vuz210) `quot` reduce2D (vuz20 * Integer vuz210 + vuz22 * Integer vuz230) (Integer (primMulInt vuz230 vuz210))",fontsize=16,color="magenta"];264 -> 277[label="",style="dashed", color="magenta", weight=3]; 264 -> 278[label="",style="dashed", color="magenta", weight=3]; 258[label="vuz21",fontsize=16,color="green",shape="box"];259[label="vuz20",fontsize=16,color="green",shape="box"];260[label="vuz23",fontsize=16,color="green",shape="box"];261[label="vuz22",fontsize=16,color="green",shape="box"];270 -> 56[label="",style="dashed", color="red", weight=0]; 270[label="primMulInt vuz200 vuz210",fontsize=16,color="magenta"];270 -> 279[label="",style="dashed", color="magenta", weight=3]; 270 -> 280[label="",style="dashed", color="magenta", weight=3]; 271 -> 56[label="",style="dashed", color="red", weight=0]; 271[label="primMulInt vuz200 vuz210",fontsize=16,color="magenta"];271 -> 281[label="",style="dashed", color="magenta", weight=3]; 271 -> 282[label="",style="dashed", color="magenta", weight=3]; 269[label="(Integer vuz41 + vuz22 * vuz23) `quot` reduce2D (Integer vuz42 + vuz22 * vuz23) (vuz23 * Integer vuz210)",fontsize=16,color="burlywood",shape="triangle"];1500[label="vuz22/Integer vuz220",fontsize=10,color="white",style="solid",shape="box"];269 -> 1500[label="",style="solid", color="burlywood", weight=9]; 1500 -> 283[label="",style="solid", color="burlywood", weight=3]; 272[label="primPlusInt (Pos vuz400) vuz39",fontsize=16,color="burlywood",shape="box"];1501[label="vuz39/Pos vuz390",fontsize=10,color="white",style="solid",shape="box"];272 -> 1501[label="",style="solid", color="burlywood", weight=9]; 1501 -> 284[label="",style="solid", color="burlywood", weight=3]; 1502[label="vuz39/Neg vuz390",fontsize=10,color="white",style="solid",shape="box"];272 -> 1502[label="",style="solid", color="burlywood", weight=9]; 1502 -> 285[label="",style="solid", color="burlywood", weight=3]; 273[label="primPlusInt (Neg vuz400) vuz39",fontsize=16,color="burlywood",shape="box"];1503[label="vuz39/Pos vuz390",fontsize=10,color="white",style="solid",shape="box"];273 -> 1503[label="",style="solid", color="burlywood", weight=9]; 1503 -> 286[label="",style="solid", color="burlywood", weight=3]; 1504[label="vuz39/Neg vuz390",fontsize=10,color="white",style="solid",shape="box"];273 -> 1504[label="",style="solid", color="burlywood", weight=9]; 1504 -> 287[label="",style="solid", color="burlywood", weight=3]; 274 -> 417[label="",style="dashed", color="red", weight=0]; 274[label="primQuotInt (Pos vuz320) (gcd vuz38 vuz33)",fontsize=16,color="magenta"];274 -> 418[label="",style="dashed", color="magenta", weight=3]; 275 -> 445[label="",style="dashed", color="red", weight=0]; 275[label="primQuotInt (Neg vuz320) (gcd vuz38 vuz33)",fontsize=16,color="magenta"];275 -> 446[label="",style="dashed", color="magenta", weight=3]; 277 -> 56[label="",style="dashed", color="red", weight=0]; 277[label="primMulInt vuz230 vuz210",fontsize=16,color="magenta"];277 -> 290[label="",style="dashed", color="magenta", weight=3]; 277 -> 291[label="",style="dashed", color="magenta", weight=3]; 278 -> 56[label="",style="dashed", color="red", weight=0]; 278[label="primMulInt vuz230 vuz210",fontsize=16,color="magenta"];278 -> 292[label="",style="dashed", color="magenta", weight=3]; 278 -> 293[label="",style="dashed", color="magenta", weight=3]; 276[label="Integer vuz43 `quot` reduce2D (vuz20 * Integer vuz210 + vuz22 * Integer vuz230) (Integer vuz44)",fontsize=16,color="black",shape="triangle"];276 -> 294[label="",style="solid", color="black", weight=3]; 279[label="vuz210",fontsize=16,color="green",shape="box"];280[label="vuz200",fontsize=16,color="green",shape="box"];281[label="vuz210",fontsize=16,color="green",shape="box"];282[label="vuz200",fontsize=16,color="green",shape="box"];283[label="(Integer vuz41 + Integer vuz220 * vuz23) `quot` reduce2D (Integer vuz42 + Integer vuz220 * vuz23) (vuz23 * Integer vuz210)",fontsize=16,color="burlywood",shape="box"];1505[label="vuz23/Integer vuz230",fontsize=10,color="white",style="solid",shape="box"];283 -> 1505[label="",style="solid", color="burlywood", weight=9]; 1505 -> 295[label="",style="solid", color="burlywood", weight=3]; 284[label="primPlusInt (Pos vuz400) (Pos vuz390)",fontsize=16,color="black",shape="box"];284 -> 296[label="",style="solid", color="black", weight=3]; 285[label="primPlusInt (Pos vuz400) (Neg vuz390)",fontsize=16,color="black",shape="box"];285 -> 297[label="",style="solid", color="black", weight=3]; 286[label="primPlusInt (Neg vuz400) (Pos vuz390)",fontsize=16,color="black",shape="box"];286 -> 298[label="",style="solid", color="black", weight=3]; 287[label="primPlusInt (Neg vuz400) (Neg vuz390)",fontsize=16,color="black",shape="box"];287 -> 299[label="",style="solid", color="black", weight=3]; 418[label="gcd vuz38 vuz33",fontsize=16,color="black",shape="triangle"];418 -> 434[label="",style="solid", color="black", weight=3]; 417[label="primQuotInt (Pos vuz320) vuz65",fontsize=16,color="burlywood",shape="triangle"];1506[label="vuz65/Pos vuz650",fontsize=10,color="white",style="solid",shape="box"];417 -> 1506[label="",style="solid", color="burlywood", weight=9]; 1506 -> 435[label="",style="solid", color="burlywood", weight=3]; 1507[label="vuz65/Neg vuz650",fontsize=10,color="white",style="solid",shape="box"];417 -> 1507[label="",style="solid", color="burlywood", weight=9]; 1507 -> 436[label="",style="solid", color="burlywood", weight=3]; 446 -> 418[label="",style="dashed", color="red", weight=0]; 446[label="gcd vuz38 vuz33",fontsize=16,color="magenta"];445[label="primQuotInt (Neg vuz320) vuz68",fontsize=16,color="burlywood",shape="triangle"];1508[label="vuz68/Pos vuz680",fontsize=10,color="white",style="solid",shape="box"];445 -> 1508[label="",style="solid", color="burlywood", weight=9]; 1508 -> 462[label="",style="solid", color="burlywood", weight=3]; 1509[label="vuz68/Neg vuz680",fontsize=10,color="white",style="solid",shape="box"];445 -> 1509[label="",style="solid", color="burlywood", weight=9]; 1509 -> 463[label="",style="solid", color="burlywood", weight=3]; 290[label="vuz210",fontsize=16,color="green",shape="box"];291[label="vuz230",fontsize=16,color="green",shape="box"];292[label="vuz210",fontsize=16,color="green",shape="box"];293[label="vuz230",fontsize=16,color="green",shape="box"];294[label="Integer vuz43 `quot` gcd (vuz20 * Integer vuz210 + vuz22 * Integer vuz230) (Integer vuz44)",fontsize=16,color="black",shape="box"];294 -> 302[label="",style="solid", color="black", weight=3]; 295[label="(Integer vuz41 + Integer vuz220 * Integer vuz230) `quot` reduce2D (Integer vuz42 + Integer vuz220 * Integer vuz230) (Integer vuz230 * Integer vuz210)",fontsize=16,color="black",shape="box"];295 -> 303[label="",style="solid", color="black", weight=3]; 296[label="Pos (primPlusNat vuz400 vuz390)",fontsize=16,color="green",shape="box"];296 -> 304[label="",style="dashed", color="green", weight=3]; 297 -> 30[label="",style="dashed", color="red", weight=0]; 297[label="primMinusNat vuz400 vuz390",fontsize=16,color="magenta"];297 -> 305[label="",style="dashed", color="magenta", weight=3]; 297 -> 306[label="",style="dashed", color="magenta", weight=3]; 298 -> 30[label="",style="dashed", color="red", weight=0]; 298[label="primMinusNat vuz390 vuz400",fontsize=16,color="magenta"];298 -> 307[label="",style="dashed", color="magenta", weight=3]; 298 -> 308[label="",style="dashed", color="magenta", weight=3]; 299[label="Neg (primPlusNat vuz400 vuz390)",fontsize=16,color="green",shape="box"];299 -> 309[label="",style="dashed", color="green", weight=3]; 434[label="gcd3 vuz38 vuz33",fontsize=16,color="black",shape="box"];434 -> 440[label="",style="solid", color="black", weight=3]; 435[label="primQuotInt (Pos vuz320) (Pos vuz650)",fontsize=16,color="burlywood",shape="box"];1510[label="vuz650/Succ vuz6500",fontsize=10,color="white",style="solid",shape="box"];435 -> 1510[label="",style="solid", color="burlywood", weight=9]; 1510 -> 441[label="",style="solid", color="burlywood", weight=3]; 1511[label="vuz650/Zero",fontsize=10,color="white",style="solid",shape="box"];435 -> 1511[label="",style="solid", color="burlywood", weight=9]; 1511 -> 442[label="",style="solid", color="burlywood", weight=3]; 436[label="primQuotInt (Pos vuz320) (Neg vuz650)",fontsize=16,color="burlywood",shape="box"];1512[label="vuz650/Succ vuz6500",fontsize=10,color="white",style="solid",shape="box"];436 -> 1512[label="",style="solid", color="burlywood", weight=9]; 1512 -> 443[label="",style="solid", color="burlywood", weight=3]; 1513[label="vuz650/Zero",fontsize=10,color="white",style="solid",shape="box"];436 -> 1513[label="",style="solid", color="burlywood", weight=9]; 1513 -> 444[label="",style="solid", color="burlywood", weight=3]; 462[label="primQuotInt (Neg vuz320) (Pos vuz680)",fontsize=16,color="burlywood",shape="box"];1514[label="vuz680/Succ vuz6800",fontsize=10,color="white",style="solid",shape="box"];462 -> 1514[label="",style="solid", color="burlywood", weight=9]; 1514 -> 466[label="",style="solid", color="burlywood", weight=3]; 1515[label="vuz680/Zero",fontsize=10,color="white",style="solid",shape="box"];462 -> 1515[label="",style="solid", color="burlywood", weight=9]; 1515 -> 467[label="",style="solid", color="burlywood", weight=3]; 463[label="primQuotInt (Neg vuz320) (Neg vuz680)",fontsize=16,color="burlywood",shape="box"];1516[label="vuz680/Succ vuz6800",fontsize=10,color="white",style="solid",shape="box"];463 -> 1516[label="",style="solid", color="burlywood", weight=9]; 1516 -> 468[label="",style="solid", color="burlywood", weight=3]; 1517[label="vuz680/Zero",fontsize=10,color="white",style="solid",shape="box"];463 -> 1517[label="",style="solid", color="burlywood", weight=9]; 1517 -> 469[label="",style="solid", color="burlywood", weight=3]; 302[label="Integer vuz43 `quot` gcd3 (vuz20 * Integer vuz210 + vuz22 * Integer vuz230) (Integer vuz44)",fontsize=16,color="black",shape="box"];302 -> 314[label="",style="solid", color="black", weight=3]; 303 -> 315[label="",style="dashed", color="red", weight=0]; 303[label="(Integer vuz41 + Integer (primMulInt vuz220 vuz230)) `quot` reduce2D (Integer vuz42 + Integer (primMulInt vuz220 vuz230)) (Integer vuz230 * Integer vuz210)",fontsize=16,color="magenta"];303 -> 316[label="",style="dashed", color="magenta", weight=3]; 303 -> 317[label="",style="dashed", color="magenta", weight=3]; 304 -> 41[label="",style="dashed", color="red", weight=0]; 304[label="primPlusNat vuz400 vuz390",fontsize=16,color="magenta"];304 -> 318[label="",style="dashed", color="magenta", weight=3]; 304 -> 319[label="",style="dashed", color="magenta", weight=3]; 305[label="vuz400",fontsize=16,color="green",shape="box"];306[label="vuz390",fontsize=16,color="green",shape="box"];307[label="vuz390",fontsize=16,color="green",shape="box"];308[label="vuz400",fontsize=16,color="green",shape="box"];309 -> 41[label="",style="dashed", color="red", weight=0]; 309[label="primPlusNat vuz400 vuz390",fontsize=16,color="magenta"];309 -> 320[label="",style="dashed", color="magenta", weight=3]; 309 -> 321[label="",style="dashed", color="magenta", weight=3]; 440 -> 464[label="",style="dashed", color="red", weight=0]; 440[label="gcd2 (vuz38 == fromInt (Pos Zero)) vuz38 vuz33",fontsize=16,color="magenta"];440 -> 465[label="",style="dashed", color="magenta", weight=3]; 441[label="primQuotInt (Pos vuz320) (Pos (Succ vuz6500))",fontsize=16,color="black",shape="box"];441 -> 470[label="",style="solid", color="black", weight=3]; 442[label="primQuotInt (Pos vuz320) (Pos Zero)",fontsize=16,color="black",shape="box"];442 -> 471[label="",style="solid", color="black", weight=3]; 443[label="primQuotInt (Pos vuz320) (Neg (Succ vuz6500))",fontsize=16,color="black",shape="box"];443 -> 472[label="",style="solid", color="black", weight=3]; 444[label="primQuotInt (Pos vuz320) (Neg Zero)",fontsize=16,color="black",shape="box"];444 -> 473[label="",style="solid", color="black", weight=3]; 466[label="primQuotInt (Neg vuz320) (Pos (Succ vuz6800))",fontsize=16,color="black",shape="box"];466 -> 485[label="",style="solid", color="black", weight=3]; 467[label="primQuotInt (Neg vuz320) (Pos Zero)",fontsize=16,color="black",shape="box"];467 -> 486[label="",style="solid", color="black", weight=3]; 468[label="primQuotInt (Neg vuz320) (Neg (Succ vuz6800))",fontsize=16,color="black",shape="box"];468 -> 487[label="",style="solid", color="black", weight=3]; 469[label="primQuotInt (Neg vuz320) (Neg Zero)",fontsize=16,color="black",shape="box"];469 -> 488[label="",style="solid", color="black", weight=3]; 314[label="Integer vuz43 `quot` gcd2 (vuz20 * Integer vuz210 + vuz22 * Integer vuz230 == fromInt (Pos Zero)) (vuz20 * Integer vuz210 + vuz22 * Integer vuz230) (Integer vuz44)",fontsize=16,color="burlywood",shape="box"];1518[label="vuz20/Integer vuz200",fontsize=10,color="white",style="solid",shape="box"];314 -> 1518[label="",style="solid", color="burlywood", weight=9]; 1518 -> 328[label="",style="solid", color="burlywood", weight=3]; 316 -> 56[label="",style="dashed", color="red", weight=0]; 316[label="primMulInt vuz220 vuz230",fontsize=16,color="magenta"];316 -> 329[label="",style="dashed", color="magenta", weight=3]; 316 -> 330[label="",style="dashed", color="magenta", weight=3]; 317 -> 56[label="",style="dashed", color="red", weight=0]; 317[label="primMulInt vuz220 vuz230",fontsize=16,color="magenta"];317 -> 331[label="",style="dashed", color="magenta", weight=3]; 317 -> 332[label="",style="dashed", color="magenta", weight=3]; 315[label="(Integer vuz41 + Integer vuz47) `quot` reduce2D (Integer vuz42 + Integer vuz48) (Integer vuz230 * Integer vuz210)",fontsize=16,color="black",shape="triangle"];315 -> 333[label="",style="solid", color="black", weight=3]; 318[label="vuz390",fontsize=16,color="green",shape="box"];319[label="vuz400",fontsize=16,color="green",shape="box"];320[label="vuz390",fontsize=16,color="green",shape="box"];321[label="vuz400",fontsize=16,color="green",shape="box"];465 -> 138[label="",style="dashed", color="red", weight=0]; 465[label="vuz38 == fromInt (Pos Zero)",fontsize=16,color="magenta"];465 -> 474[label="",style="dashed", color="magenta", weight=3]; 464[label="gcd2 vuz69 vuz38 vuz33",fontsize=16,color="burlywood",shape="triangle"];1519[label="vuz69/False",fontsize=10,color="white",style="solid",shape="box"];464 -> 1519[label="",style="solid", color="burlywood", weight=9]; 1519 -> 475[label="",style="solid", color="burlywood", weight=3]; 1520[label="vuz69/True",fontsize=10,color="white",style="solid",shape="box"];464 -> 1520[label="",style="solid", color="burlywood", weight=9]; 1520 -> 476[label="",style="solid", color="burlywood", weight=3]; 470[label="Pos (primDivNatS vuz320 (Succ vuz6500))",fontsize=16,color="green",shape="box"];470 -> 489[label="",style="dashed", color="green", weight=3]; 471[label="error []",fontsize=16,color="black",shape="triangle"];471 -> 490[label="",style="solid", color="black", weight=3]; 472[label="Neg (primDivNatS vuz320 (Succ vuz6500))",fontsize=16,color="green",shape="box"];472 -> 491[label="",style="dashed", color="green", weight=3]; 473 -> 471[label="",style="dashed", color="red", weight=0]; 473[label="error []",fontsize=16,color="magenta"];485[label="Neg (primDivNatS vuz320 (Succ vuz6800))",fontsize=16,color="green",shape="box"];485 -> 503[label="",style="dashed", color="green", weight=3]; 486 -> 471[label="",style="dashed", color="red", weight=0]; 486[label="error []",fontsize=16,color="magenta"];487[label="Pos (primDivNatS vuz320 (Succ vuz6800))",fontsize=16,color="green",shape="box"];487 -> 504[label="",style="dashed", color="green", weight=3]; 488 -> 471[label="",style="dashed", color="red", weight=0]; 488[label="error []",fontsize=16,color="magenta"];328[label="Integer vuz43 `quot` gcd2 (Integer vuz200 * Integer vuz210 + vuz22 * Integer vuz230 == fromInt (Pos Zero)) (Integer vuz200 * Integer vuz210 + vuz22 * Integer vuz230) (Integer vuz44)",fontsize=16,color="black",shape="box"];328 -> 338[label="",style="solid", color="black", weight=3]; 329[label="vuz230",fontsize=16,color="green",shape="box"];330[label="vuz220",fontsize=16,color="green",shape="box"];331[label="vuz230",fontsize=16,color="green",shape="box"];332[label="vuz220",fontsize=16,color="green",shape="box"];333 -> 339[label="",style="dashed", color="red", weight=0]; 333[label="Integer (primPlusInt vuz41 vuz47) `quot` reduce2D (Integer (primPlusInt vuz41 vuz47)) (Integer vuz230 * Integer vuz210)",fontsize=16,color="magenta"];333 -> 340[label="",style="dashed", color="magenta", weight=3]; 333 -> 341[label="",style="dashed", color="magenta", weight=3]; 474[label="vuz38",fontsize=16,color="green",shape="box"];475[label="gcd2 False vuz38 vuz33",fontsize=16,color="black",shape="box"];475 -> 492[label="",style="solid", color="black", weight=3]; 476[label="gcd2 True vuz38 vuz33",fontsize=16,color="black",shape="box"];476 -> 493[label="",style="solid", color="black", weight=3]; 489[label="primDivNatS vuz320 (Succ vuz6500)",fontsize=16,color="burlywood",shape="triangle"];1521[label="vuz320/Succ vuz3200",fontsize=10,color="white",style="solid",shape="box"];489 -> 1521[label="",style="solid", color="burlywood", weight=9]; 1521 -> 505[label="",style="solid", color="burlywood", weight=3]; 1522[label="vuz320/Zero",fontsize=10,color="white",style="solid",shape="box"];489 -> 1522[label="",style="solid", color="burlywood", weight=9]; 1522 -> 506[label="",style="solid", color="burlywood", weight=3]; 490[label="error []",fontsize=16,color="red",shape="box"];491 -> 489[label="",style="dashed", color="red", weight=0]; 491[label="primDivNatS vuz320 (Succ vuz6500)",fontsize=16,color="magenta"];491 -> 507[label="",style="dashed", color="magenta", weight=3]; 503 -> 489[label="",style="dashed", color="red", weight=0]; 503[label="primDivNatS vuz320 (Succ vuz6800)",fontsize=16,color="magenta"];503 -> 511[label="",style="dashed", color="magenta", weight=3]; 503 -> 512[label="",style="dashed", color="magenta", weight=3]; 504 -> 489[label="",style="dashed", color="red", weight=0]; 504[label="primDivNatS vuz320 (Succ vuz6800)",fontsize=16,color="magenta"];504 -> 513[label="",style="dashed", color="magenta", weight=3]; 504 -> 514[label="",style="dashed", color="magenta", weight=3]; 338 -> 348[label="",style="dashed", color="red", weight=0]; 338[label="Integer vuz43 `quot` gcd2 (Integer (primMulInt vuz200 vuz210) + vuz22 * Integer vuz230 == fromInt (Pos Zero)) (Integer (primMulInt vuz200 vuz210) + vuz22 * Integer vuz230) (Integer vuz44)",fontsize=16,color="magenta"];338 -> 349[label="",style="dashed", color="magenta", weight=3]; 338 -> 350[label="",style="dashed", color="magenta", weight=3]; 340 -> 253[label="",style="dashed", color="red", weight=0]; 340[label="primPlusInt vuz41 vuz47",fontsize=16,color="magenta"];340 -> 351[label="",style="dashed", color="magenta", weight=3]; 340 -> 352[label="",style="dashed", color="magenta", weight=3]; 341 -> 253[label="",style="dashed", color="red", weight=0]; 341[label="primPlusInt vuz41 vuz47",fontsize=16,color="magenta"];341 -> 353[label="",style="dashed", color="magenta", weight=3]; 341 -> 354[label="",style="dashed", color="magenta", weight=3]; 339[label="Integer vuz49 `quot` reduce2D (Integer vuz50) (Integer vuz230 * Integer vuz210)",fontsize=16,color="black",shape="triangle"];339 -> 355[label="",style="solid", color="black", weight=3]; 492[label="gcd0 vuz38 vuz33",fontsize=16,color="black",shape="triangle"];492 -> 508[label="",style="solid", color="black", weight=3]; 493 -> 509[label="",style="dashed", color="red", weight=0]; 493[label="gcd1 (vuz33 == fromInt (Pos Zero)) vuz38 vuz33",fontsize=16,color="magenta"];493 -> 510[label="",style="dashed", color="magenta", weight=3]; 505[label="primDivNatS (Succ vuz3200) (Succ vuz6500)",fontsize=16,color="black",shape="box"];505 -> 515[label="",style="solid", color="black", weight=3]; 506[label="primDivNatS Zero (Succ vuz6500)",fontsize=16,color="black",shape="box"];506 -> 516[label="",style="solid", color="black", weight=3]; 507[label="vuz6500",fontsize=16,color="green",shape="box"];511[label="vuz6800",fontsize=16,color="green",shape="box"];512[label="vuz320",fontsize=16,color="green",shape="box"];513[label="vuz6800",fontsize=16,color="green",shape="box"];514[label="vuz320",fontsize=16,color="green",shape="box"];349 -> 56[label="",style="dashed", color="red", weight=0]; 349[label="primMulInt vuz200 vuz210",fontsize=16,color="magenta"];349 -> 364[label="",style="dashed", color="magenta", weight=3]; 349 -> 365[label="",style="dashed", color="magenta", weight=3]; 350 -> 56[label="",style="dashed", color="red", weight=0]; 350[label="primMulInt vuz200 vuz210",fontsize=16,color="magenta"];350 -> 366[label="",style="dashed", color="magenta", weight=3]; 350 -> 367[label="",style="dashed", color="magenta", weight=3]; 348[label="Integer vuz43 `quot` gcd2 (Integer vuz54 + vuz22 * Integer vuz230 == fromInt (Pos Zero)) (Integer vuz53 + vuz22 * Integer vuz230) (Integer vuz44)",fontsize=16,color="burlywood",shape="triangle"];1523[label="vuz22/Integer vuz220",fontsize=10,color="white",style="solid",shape="box"];348 -> 1523[label="",style="solid", color="burlywood", weight=9]; 1523 -> 368[label="",style="solid", color="burlywood", weight=3]; 351[label="vuz41",fontsize=16,color="green",shape="box"];352[label="vuz47",fontsize=16,color="green",shape="box"];353[label="vuz41",fontsize=16,color="green",shape="box"];354[label="vuz47",fontsize=16,color="green",shape="box"];355[label="Integer vuz49 `quot` gcd (Integer vuz50) (Integer vuz230 * Integer vuz210)",fontsize=16,color="black",shape="box"];355 -> 369[label="",style="solid", color="black", weight=3]; 508[label="gcd0Gcd' (abs vuz38) (abs vuz33)",fontsize=16,color="black",shape="box"];508 -> 517[label="",style="solid", color="black", weight=3]; 510 -> 138[label="",style="dashed", color="red", weight=0]; 510[label="vuz33 == fromInt (Pos Zero)",fontsize=16,color="magenta"];510 -> 518[label="",style="dashed", color="magenta", weight=3]; 509[label="gcd1 vuz71 vuz38 vuz33",fontsize=16,color="burlywood",shape="triangle"];1524[label="vuz71/False",fontsize=10,color="white",style="solid",shape="box"];509 -> 1524[label="",style="solid", color="burlywood", weight=9]; 1524 -> 519[label="",style="solid", color="burlywood", weight=3]; 1525[label="vuz71/True",fontsize=10,color="white",style="solid",shape="box"];509 -> 1525[label="",style="solid", color="burlywood", weight=9]; 1525 -> 520[label="",style="solid", color="burlywood", weight=3]; 515[label="primDivNatS0 vuz3200 vuz6500 (primGEqNatS vuz3200 vuz6500)",fontsize=16,color="burlywood",shape="box"];1526[label="vuz3200/Succ vuz32000",fontsize=10,color="white",style="solid",shape="box"];515 -> 1526[label="",style="solid", color="burlywood", weight=9]; 1526 -> 524[label="",style="solid", color="burlywood", weight=3]; 1527[label="vuz3200/Zero",fontsize=10,color="white",style="solid",shape="box"];515 -> 1527[label="",style="solid", color="burlywood", weight=9]; 1527 -> 525[label="",style="solid", color="burlywood", weight=3]; 516[label="Zero",fontsize=16,color="green",shape="box"];364[label="vuz210",fontsize=16,color="green",shape="box"];365[label="vuz200",fontsize=16,color="green",shape="box"];366[label="vuz210",fontsize=16,color="green",shape="box"];367[label="vuz200",fontsize=16,color="green",shape="box"];368[label="Integer vuz43 `quot` gcd2 (Integer vuz54 + Integer vuz220 * Integer vuz230 == fromInt (Pos Zero)) (Integer vuz53 + Integer vuz220 * Integer vuz230) (Integer vuz44)",fontsize=16,color="black",shape="box"];368 -> 376[label="",style="solid", color="black", weight=3]; 369[label="Integer vuz49 `quot` gcd3 (Integer vuz50) (Integer vuz230 * Integer vuz210)",fontsize=16,color="black",shape="box"];369 -> 377[label="",style="solid", color="black", weight=3]; 517[label="gcd0Gcd'2 (abs vuz38) (abs vuz33)",fontsize=16,color="black",shape="box"];517 -> 526[label="",style="solid", color="black", weight=3]; 518[label="vuz33",fontsize=16,color="green",shape="box"];519[label="gcd1 False vuz38 vuz33",fontsize=16,color="black",shape="box"];519 -> 527[label="",style="solid", color="black", weight=3]; 520[label="gcd1 True vuz38 vuz33",fontsize=16,color="black",shape="box"];520 -> 528[label="",style="solid", color="black", weight=3]; 524[label="primDivNatS0 (Succ vuz32000) vuz6500 (primGEqNatS (Succ vuz32000) vuz6500)",fontsize=16,color="burlywood",shape="box"];1528[label="vuz6500/Succ vuz65000",fontsize=10,color="white",style="solid",shape="box"];524 -> 1528[label="",style="solid", color="burlywood", weight=9]; 1528 -> 536[label="",style="solid", color="burlywood", weight=3]; 1529[label="vuz6500/Zero",fontsize=10,color="white",style="solid",shape="box"];524 -> 1529[label="",style="solid", color="burlywood", weight=9]; 1529 -> 537[label="",style="solid", color="burlywood", weight=3]; 525[label="primDivNatS0 Zero vuz6500 (primGEqNatS Zero vuz6500)",fontsize=16,color="burlywood",shape="box"];1530[label="vuz6500/Succ vuz65000",fontsize=10,color="white",style="solid",shape="box"];525 -> 1530[label="",style="solid", color="burlywood", weight=9]; 1530 -> 538[label="",style="solid", color="burlywood", weight=3]; 1531[label="vuz6500/Zero",fontsize=10,color="white",style="solid",shape="box"];525 -> 1531[label="",style="solid", color="burlywood", weight=9]; 1531 -> 539[label="",style="solid", color="burlywood", weight=3]; 376 -> 384[label="",style="dashed", color="red", weight=0]; 376[label="Integer vuz43 `quot` gcd2 (Integer vuz54 + Integer (primMulInt vuz220 vuz230) == fromInt (Pos Zero)) (Integer vuz53 + Integer (primMulInt vuz220 vuz230)) (Integer vuz44)",fontsize=16,color="magenta"];376 -> 385[label="",style="dashed", color="magenta", weight=3]; 376 -> 386[label="",style="dashed", color="magenta", weight=3]; 377 -> 387[label="",style="dashed", color="red", weight=0]; 377[label="Integer vuz49 `quot` gcd2 (Integer vuz50 == fromInt (Pos Zero)) (Integer vuz50) (Integer vuz230 * Integer vuz210)",fontsize=16,color="magenta"];377 -> 388[label="",style="dashed", color="magenta", weight=3]; 526 -> 540[label="",style="dashed", color="red", weight=0]; 526[label="gcd0Gcd'1 (abs vuz33 == fromInt (Pos Zero)) (abs vuz38) (abs vuz33)",fontsize=16,color="magenta"];526 -> 541[label="",style="dashed", color="magenta", weight=3]; 527 -> 492[label="",style="dashed", color="red", weight=0]; 527[label="gcd0 vuz38 vuz33",fontsize=16,color="magenta"];528 -> 471[label="",style="dashed", color="red", weight=0]; 528[label="error []",fontsize=16,color="magenta"];536[label="primDivNatS0 (Succ vuz32000) (Succ vuz65000) (primGEqNatS (Succ vuz32000) (Succ vuz65000))",fontsize=16,color="black",shape="box"];536 -> 542[label="",style="solid", color="black", weight=3]; 537[label="primDivNatS0 (Succ vuz32000) Zero (primGEqNatS (Succ vuz32000) Zero)",fontsize=16,color="black",shape="box"];537 -> 543[label="",style="solid", color="black", weight=3]; 538[label="primDivNatS0 Zero (Succ vuz65000) (primGEqNatS Zero (Succ vuz65000))",fontsize=16,color="black",shape="box"];538 -> 544[label="",style="solid", color="black", weight=3]; 539[label="primDivNatS0 Zero Zero (primGEqNatS Zero Zero)",fontsize=16,color="black",shape="box"];539 -> 545[label="",style="solid", color="black", weight=3]; 385 -> 56[label="",style="dashed", color="red", weight=0]; 385[label="primMulInt vuz220 vuz230",fontsize=16,color="magenta"];385 -> 395[label="",style="dashed", color="magenta", weight=3]; 385 -> 396[label="",style="dashed", color="magenta", weight=3]; 386 -> 56[label="",style="dashed", color="red", weight=0]; 386[label="primMulInt vuz220 vuz230",fontsize=16,color="magenta"];386 -> 397[label="",style="dashed", color="magenta", weight=3]; 386 -> 398[label="",style="dashed", color="magenta", weight=3]; 384[label="Integer vuz43 `quot` gcd2 (Integer vuz54 + Integer vuz58 == fromInt (Pos Zero)) (Integer vuz53 + Integer vuz57) (Integer vuz44)",fontsize=16,color="black",shape="triangle"];384 -> 399[label="",style="solid", color="black", weight=3]; 388 -> 1043[label="",style="dashed", color="red", weight=0]; 388[label="Integer vuz50 == fromInt (Pos Zero)",fontsize=16,color="magenta"];388 -> 1047[label="",style="dashed", color="magenta", weight=3]; 387[label="Integer vuz49 `quot` gcd2 vuz59 (Integer vuz50) (Integer vuz230 * Integer vuz210)",fontsize=16,color="burlywood",shape="triangle"];1532[label="vuz59/False",fontsize=10,color="white",style="solid",shape="box"];387 -> 1532[label="",style="solid", color="burlywood", weight=9]; 1532 -> 401[label="",style="solid", color="burlywood", weight=3]; 1533[label="vuz59/True",fontsize=10,color="white",style="solid",shape="box"];387 -> 1533[label="",style="solid", color="burlywood", weight=9]; 1533 -> 402[label="",style="solid", color="burlywood", weight=3]; 541 -> 138[label="",style="dashed", color="red", weight=0]; 541[label="abs vuz33 == fromInt (Pos Zero)",fontsize=16,color="magenta"];541 -> 546[label="",style="dashed", color="magenta", weight=3]; 540[label="gcd0Gcd'1 vuz73 (abs vuz38) (abs vuz33)",fontsize=16,color="burlywood",shape="triangle"];1534[label="vuz73/False",fontsize=10,color="white",style="solid",shape="box"];540 -> 1534[label="",style="solid", color="burlywood", weight=9]; 1534 -> 547[label="",style="solid", color="burlywood", weight=3]; 1535[label="vuz73/True",fontsize=10,color="white",style="solid",shape="box"];540 -> 1535[label="",style="solid", color="burlywood", weight=9]; 1535 -> 548[label="",style="solid", color="burlywood", weight=3]; 542 -> 1098[label="",style="dashed", color="red", weight=0]; 542[label="primDivNatS0 (Succ vuz32000) (Succ vuz65000) (primGEqNatS vuz32000 vuz65000)",fontsize=16,color="magenta"];542 -> 1099[label="",style="dashed", color="magenta", weight=3]; 542 -> 1100[label="",style="dashed", color="magenta", weight=3]; 542 -> 1101[label="",style="dashed", color="magenta", weight=3]; 542 -> 1102[label="",style="dashed", color="magenta", weight=3]; 543[label="primDivNatS0 (Succ vuz32000) Zero True",fontsize=16,color="black",shape="box"];543 -> 556[label="",style="solid", color="black", weight=3]; 544[label="primDivNatS0 Zero (Succ vuz65000) False",fontsize=16,color="black",shape="box"];544 -> 557[label="",style="solid", color="black", weight=3]; 545[label="primDivNatS0 Zero Zero True",fontsize=16,color="black",shape="box"];545 -> 558[label="",style="solid", color="black", weight=3]; 395[label="vuz230",fontsize=16,color="green",shape="box"];396[label="vuz220",fontsize=16,color="green",shape="box"];397[label="vuz230",fontsize=16,color="green",shape="box"];398[label="vuz220",fontsize=16,color="green",shape="box"];399 -> 408[label="",style="dashed", color="red", weight=0]; 399[label="Integer vuz43 `quot` gcd2 (Integer (primPlusInt vuz54 vuz58) == fromInt (Pos Zero)) (Integer (primPlusInt vuz54 vuz58)) (Integer vuz44)",fontsize=16,color="magenta"];399 -> 409[label="",style="dashed", color="magenta", weight=3]; 399 -> 410[label="",style="dashed", color="magenta", weight=3]; 1047[label="Integer vuz50",fontsize=16,color="green",shape="box"];401[label="Integer vuz49 `quot` gcd2 False (Integer vuz50) (Integer vuz230 * Integer vuz210)",fontsize=16,color="black",shape="box"];401 -> 411[label="",style="solid", color="black", weight=3]; 402[label="Integer vuz49 `quot` gcd2 True (Integer vuz50) (Integer vuz230 * Integer vuz210)",fontsize=16,color="black",shape="box"];402 -> 412[label="",style="solid", color="black", weight=3]; 546[label="abs vuz33",fontsize=16,color="black",shape="triangle"];546 -> 559[label="",style="solid", color="black", weight=3]; 547[label="gcd0Gcd'1 False (abs vuz38) (abs vuz33)",fontsize=16,color="black",shape="box"];547 -> 560[label="",style="solid", color="black", weight=3]; 548[label="gcd0Gcd'1 True (abs vuz38) (abs vuz33)",fontsize=16,color="black",shape="box"];548 -> 561[label="",style="solid", color="black", weight=3]; 1099[label="vuz32000",fontsize=16,color="green",shape="box"];1100[label="vuz32000",fontsize=16,color="green",shape="box"];1101[label="vuz65000",fontsize=16,color="green",shape="box"];1102[label="vuz65000",fontsize=16,color="green",shape="box"];1098[label="primDivNatS0 (Succ vuz104) (Succ vuz105) (primGEqNatS vuz106 vuz107)",fontsize=16,color="burlywood",shape="triangle"];1536[label="vuz106/Succ vuz1060",fontsize=10,color="white",style="solid",shape="box"];1098 -> 1536[label="",style="solid", color="burlywood", weight=9]; 1536 -> 1142[label="",style="solid", color="burlywood", weight=3]; 1537[label="vuz106/Zero",fontsize=10,color="white",style="solid",shape="box"];1098 -> 1537[label="",style="solid", color="burlywood", weight=9]; 1537 -> 1143[label="",style="solid", color="burlywood", weight=3]; 556[label="Succ (primDivNatS (primMinusNatS (Succ vuz32000) Zero) (Succ Zero))",fontsize=16,color="green",shape="box"];556 -> 569[label="",style="dashed", color="green", weight=3]; 557[label="Zero",fontsize=16,color="green",shape="box"];558[label="Succ (primDivNatS (primMinusNatS Zero Zero) (Succ Zero))",fontsize=16,color="green",shape="box"];558 -> 570[label="",style="dashed", color="green", weight=3]; 409 -> 1043[label="",style="dashed", color="red", weight=0]; 409[label="Integer (primPlusInt vuz54 vuz58) == fromInt (Pos Zero)",fontsize=16,color="magenta"];409 -> 1048[label="",style="dashed", color="magenta", weight=3]; 410 -> 253[label="",style="dashed", color="red", weight=0]; 410[label="primPlusInt vuz54 vuz58",fontsize=16,color="magenta"];410 -> 478[label="",style="dashed", color="magenta", weight=3]; 410 -> 479[label="",style="dashed", color="magenta", weight=3]; 408[label="Integer vuz43 `quot` gcd2 vuz60 (Integer vuz61) (Integer vuz44)",fontsize=16,color="burlywood",shape="triangle"];1538[label="vuz60/False",fontsize=10,color="white",style="solid",shape="box"];408 -> 1538[label="",style="solid", color="burlywood", weight=9]; 1538 -> 480[label="",style="solid", color="burlywood", weight=3]; 1539[label="vuz60/True",fontsize=10,color="white",style="solid",shape="box"];408 -> 1539[label="",style="solid", color="burlywood", weight=9]; 1539 -> 481[label="",style="solid", color="burlywood", weight=3]; 411[label="Integer vuz49 `quot` gcd0 (Integer vuz50) (Integer vuz230 * Integer vuz210)",fontsize=16,color="black",shape="triangle"];411 -> 482[label="",style="solid", color="black", weight=3]; 412 -> 483[label="",style="dashed", color="red", weight=0]; 412[label="Integer vuz49 `quot` gcd1 (Integer vuz230 * Integer vuz210 == fromInt (Pos Zero)) (Integer vuz50) (Integer vuz230 * Integer vuz210)",fontsize=16,color="magenta"];412 -> 484[label="",style="dashed", color="magenta", weight=3]; 559[label="absReal vuz33",fontsize=16,color="black",shape="box"];559 -> 571[label="",style="solid", color="black", weight=3]; 560 -> 572[label="",style="dashed", color="red", weight=0]; 560[label="gcd0Gcd'0 (abs vuz38) (abs vuz33)",fontsize=16,color="magenta"];560 -> 573[label="",style="dashed", color="magenta", weight=3]; 560 -> 574[label="",style="dashed", color="magenta", weight=3]; 561 -> 546[label="",style="dashed", color="red", weight=0]; 561[label="abs vuz38",fontsize=16,color="magenta"];561 -> 575[label="",style="dashed", color="magenta", weight=3]; 1142[label="primDivNatS0 (Succ vuz104) (Succ vuz105) (primGEqNatS (Succ vuz1060) vuz107)",fontsize=16,color="burlywood",shape="box"];1540[label="vuz107/Succ vuz1070",fontsize=10,color="white",style="solid",shape="box"];1142 -> 1540[label="",style="solid", color="burlywood", weight=9]; 1540 -> 1161[label="",style="solid", color="burlywood", weight=3]; 1541[label="vuz107/Zero",fontsize=10,color="white",style="solid",shape="box"];1142 -> 1541[label="",style="solid", color="burlywood", weight=9]; 1541 -> 1162[label="",style="solid", color="burlywood", weight=3]; 1143[label="primDivNatS0 (Succ vuz104) (Succ vuz105) (primGEqNatS Zero vuz107)",fontsize=16,color="burlywood",shape="box"];1542[label="vuz107/Succ vuz1070",fontsize=10,color="white",style="solid",shape="box"];1143 -> 1542[label="",style="solid", color="burlywood", weight=9]; 1542 -> 1163[label="",style="solid", color="burlywood", weight=3]; 1543[label="vuz107/Zero",fontsize=10,color="white",style="solid",shape="box"];1143 -> 1543[label="",style="solid", color="burlywood", weight=9]; 1543 -> 1164[label="",style="solid", color="burlywood", weight=3]; 569 -> 489[label="",style="dashed", color="red", weight=0]; 569[label="primDivNatS (primMinusNatS (Succ vuz32000) Zero) (Succ Zero)",fontsize=16,color="magenta"];569 -> 580[label="",style="dashed", color="magenta", weight=3]; 569 -> 581[label="",style="dashed", color="magenta", weight=3]; 570 -> 489[label="",style="dashed", color="red", weight=0]; 570[label="primDivNatS (primMinusNatS Zero Zero) (Succ Zero)",fontsize=16,color="magenta"];570 -> 582[label="",style="dashed", color="magenta", weight=3]; 570 -> 583[label="",style="dashed", color="magenta", weight=3]; 1048[label="Integer (primPlusInt vuz54 vuz58)",fontsize=16,color="green",shape="box"];1048 -> 1056[label="",style="dashed", color="green", weight=3]; 478[label="vuz54",fontsize=16,color="green",shape="box"];479[label="vuz58",fontsize=16,color="green",shape="box"];480[label="Integer vuz43 `quot` gcd2 False (Integer vuz61) (Integer vuz44)",fontsize=16,color="black",shape="box"];480 -> 496[label="",style="solid", color="black", weight=3]; 481[label="Integer vuz43 `quot` gcd2 True (Integer vuz61) (Integer vuz44)",fontsize=16,color="black",shape="box"];481 -> 497[label="",style="solid", color="black", weight=3]; 482[label="Integer vuz49 `quot` gcd0Gcd' (abs (Integer vuz50)) (abs (Integer vuz230 * Integer vuz210))",fontsize=16,color="black",shape="box"];482 -> 498[label="",style="solid", color="black", weight=3]; 484 -> 1043[label="",style="dashed", color="red", weight=0]; 484[label="Integer vuz230 * Integer vuz210 == fromInt (Pos Zero)",fontsize=16,color="magenta"];484 -> 1049[label="",style="dashed", color="magenta", weight=3]; 483[label="Integer vuz49 `quot` gcd1 vuz70 (Integer vuz50) (Integer vuz230 * Integer vuz210)",fontsize=16,color="burlywood",shape="triangle"];1544[label="vuz70/False",fontsize=10,color="white",style="solid",shape="box"];483 -> 1544[label="",style="solid", color="burlywood", weight=9]; 1544 -> 501[label="",style="solid", color="burlywood", weight=3]; 1545[label="vuz70/True",fontsize=10,color="white",style="solid",shape="box"];483 -> 1545[label="",style="solid", color="burlywood", weight=9]; 1545 -> 502[label="",style="solid", color="burlywood", weight=3]; 571[label="absReal2 vuz33",fontsize=16,color="black",shape="box"];571 -> 584[label="",style="solid", color="black", weight=3]; 573 -> 546[label="",style="dashed", color="red", weight=0]; 573[label="abs vuz33",fontsize=16,color="magenta"];574 -> 546[label="",style="dashed", color="red", weight=0]; 574[label="abs vuz38",fontsize=16,color="magenta"];574 -> 585[label="",style="dashed", color="magenta", weight=3]; 572[label="gcd0Gcd'0 vuz75 vuz74",fontsize=16,color="black",shape="triangle"];572 -> 586[label="",style="solid", color="black", weight=3]; 575[label="vuz38",fontsize=16,color="green",shape="box"];1161[label="primDivNatS0 (Succ vuz104) (Succ vuz105) (primGEqNatS (Succ vuz1060) (Succ vuz1070))",fontsize=16,color="black",shape="box"];1161 -> 1180[label="",style="solid", color="black", weight=3]; 1162[label="primDivNatS0 (Succ vuz104) (Succ vuz105) (primGEqNatS (Succ vuz1060) Zero)",fontsize=16,color="black",shape="box"];1162 -> 1181[label="",style="solid", color="black", weight=3]; 1163[label="primDivNatS0 (Succ vuz104) (Succ vuz105) (primGEqNatS Zero (Succ vuz1070))",fontsize=16,color="black",shape="box"];1163 -> 1182[label="",style="solid", color="black", weight=3]; 1164[label="primDivNatS0 (Succ vuz104) (Succ vuz105) (primGEqNatS Zero Zero)",fontsize=16,color="black",shape="box"];1164 -> 1183[label="",style="solid", color="black", weight=3]; 580[label="Zero",fontsize=16,color="green",shape="box"];581[label="primMinusNatS (Succ vuz32000) Zero",fontsize=16,color="black",shape="triangle"];581 -> 594[label="",style="solid", color="black", weight=3]; 582[label="Zero",fontsize=16,color="green",shape="box"];583[label="primMinusNatS Zero Zero",fontsize=16,color="black",shape="triangle"];583 -> 595[label="",style="solid", color="black", weight=3]; 1056 -> 253[label="",style="dashed", color="red", weight=0]; 1056[label="primPlusInt vuz54 vuz58",fontsize=16,color="magenta"];1056 -> 1064[label="",style="dashed", color="magenta", weight=3]; 1056 -> 1065[label="",style="dashed", color="magenta", weight=3]; 496[label="Integer vuz43 `quot` gcd0 (Integer vuz61) (Integer vuz44)",fontsize=16,color="black",shape="triangle"];496 -> 521[label="",style="solid", color="black", weight=3]; 497 -> 522[label="",style="dashed", color="red", weight=0]; 497[label="Integer vuz43 `quot` gcd1 (Integer vuz44 == fromInt (Pos Zero)) (Integer vuz61) (Integer vuz44)",fontsize=16,color="magenta"];497 -> 523[label="",style="dashed", color="magenta", weight=3]; 498[label="Integer vuz49 `quot` gcd0Gcd'2 (abs (Integer vuz50)) (abs (Integer vuz230 * Integer vuz210))",fontsize=16,color="black",shape="box"];498 -> 529[label="",style="solid", color="black", weight=3]; 1049 -> 1044[label="",style="dashed", color="red", weight=0]; 1049[label="Integer vuz230 * Integer vuz210",fontsize=16,color="magenta"];1049 -> 1057[label="",style="dashed", color="magenta", weight=3]; 1049 -> 1058[label="",style="dashed", color="magenta", weight=3]; 501[label="Integer vuz49 `quot` gcd1 False (Integer vuz50) (Integer vuz230 * Integer vuz210)",fontsize=16,color="black",shape="box"];501 -> 530[label="",style="solid", color="black", weight=3]; 502[label="Integer vuz49 `quot` gcd1 True (Integer vuz50) (Integer vuz230 * Integer vuz210)",fontsize=16,color="black",shape="box"];502 -> 531[label="",style="solid", color="black", weight=3]; 584[label="absReal1 vuz33 (vuz33 >= fromInt (Pos Zero))",fontsize=16,color="black",shape="box"];584 -> 596[label="",style="solid", color="black", weight=3]; 585[label="vuz38",fontsize=16,color="green",shape="box"];586[label="gcd0Gcd' vuz74 (vuz75 `rem` vuz74)",fontsize=16,color="black",shape="box"];586 -> 597[label="",style="solid", color="black", weight=3]; 1180 -> 1098[label="",style="dashed", color="red", weight=0]; 1180[label="primDivNatS0 (Succ vuz104) (Succ vuz105) (primGEqNatS vuz1060 vuz1070)",fontsize=16,color="magenta"];1180 -> 1193[label="",style="dashed", color="magenta", weight=3]; 1180 -> 1194[label="",style="dashed", color="magenta", weight=3]; 1181[label="primDivNatS0 (Succ vuz104) (Succ vuz105) True",fontsize=16,color="black",shape="triangle"];1181 -> 1195[label="",style="solid", color="black", weight=3]; 1182[label="primDivNatS0 (Succ vuz104) (Succ vuz105) False",fontsize=16,color="black",shape="box"];1182 -> 1196[label="",style="solid", color="black", weight=3]; 1183 -> 1181[label="",style="dashed", color="red", weight=0]; 1183[label="primDivNatS0 (Succ vuz104) (Succ vuz105) True",fontsize=16,color="magenta"];594[label="Succ vuz32000",fontsize=16,color="green",shape="box"];595[label="Zero",fontsize=16,color="green",shape="box"];1064[label="vuz54",fontsize=16,color="green",shape="box"];1065[label="vuz58",fontsize=16,color="green",shape="box"];521[label="Integer vuz43 `quot` gcd0Gcd' (abs (Integer vuz61)) (abs (Integer vuz44))",fontsize=16,color="black",shape="box"];521 -> 532[label="",style="solid", color="black", weight=3]; 523 -> 1043[label="",style="dashed", color="red", weight=0]; 523[label="Integer vuz44 == fromInt (Pos Zero)",fontsize=16,color="magenta"];523 -> 1050[label="",style="dashed", color="magenta", weight=3]; 522[label="Integer vuz43 `quot` gcd1 vuz72 (Integer vuz61) (Integer vuz44)",fontsize=16,color="burlywood",shape="triangle"];1546[label="vuz72/False",fontsize=10,color="white",style="solid",shape="box"];522 -> 1546[label="",style="solid", color="burlywood", weight=9]; 1546 -> 534[label="",style="solid", color="burlywood", weight=3]; 1547[label="vuz72/True",fontsize=10,color="white",style="solid",shape="box"];522 -> 1547[label="",style="solid", color="burlywood", weight=9]; 1547 -> 535[label="",style="solid", color="burlywood", weight=3]; 529 -> 1026[label="",style="dashed", color="red", weight=0]; 529[label="Integer vuz49 `quot` gcd0Gcd'1 (abs (Integer vuz230 * Integer vuz210) == fromInt (Pos Zero)) (abs (Integer vuz50)) (abs (Integer vuz230 * Integer vuz210))",fontsize=16,color="magenta"];529 -> 1027[label="",style="dashed", color="magenta", weight=3]; 529 -> 1028[label="",style="dashed", color="magenta", weight=3]; 529 -> 1029[label="",style="dashed", color="magenta", weight=3]; 1057[label="Integer vuz210",fontsize=16,color="green",shape="box"];1058[label="Integer vuz230",fontsize=16,color="green",shape="box"];530 -> 411[label="",style="dashed", color="red", weight=0]; 530[label="Integer vuz49 `quot` gcd0 (Integer vuz50) (Integer vuz230 * Integer vuz210)",fontsize=16,color="magenta"];531[label="Integer vuz49 `quot` error []",fontsize=16,color="black",shape="triangle"];531 -> 550[label="",style="solid", color="black", weight=3]; 596[label="absReal1 vuz33 (compare vuz33 (fromInt (Pos Zero)) /= LT)",fontsize=16,color="black",shape="box"];596 -> 606[label="",style="solid", color="black", weight=3]; 597[label="gcd0Gcd'2 vuz74 (vuz75 `rem` vuz74)",fontsize=16,color="black",shape="box"];597 -> 607[label="",style="solid", color="black", weight=3]; 1193[label="vuz1060",fontsize=16,color="green",shape="box"];1194[label="vuz1070",fontsize=16,color="green",shape="box"];1195[label="Succ (primDivNatS (primMinusNatS (Succ vuz104) (Succ vuz105)) (Succ (Succ vuz105)))",fontsize=16,color="green",shape="box"];1195 -> 1199[label="",style="dashed", color="green", weight=3]; 1196[label="Zero",fontsize=16,color="green",shape="box"];532[label="Integer vuz43 `quot` gcd0Gcd'2 (abs (Integer vuz61)) (abs (Integer vuz44))",fontsize=16,color="black",shape="box"];532 -> 551[label="",style="solid", color="black", weight=3]; 1050[label="Integer vuz44",fontsize=16,color="green",shape="box"];534[label="Integer vuz43 `quot` gcd1 False (Integer vuz61) (Integer vuz44)",fontsize=16,color="black",shape="box"];534 -> 552[label="",style="solid", color="black", weight=3]; 535[label="Integer vuz43 `quot` gcd1 True (Integer vuz61) (Integer vuz44)",fontsize=16,color="black",shape="box"];535 -> 553[label="",style="solid", color="black", weight=3]; 1027 -> 1043[label="",style="dashed", color="red", weight=0]; 1027[label="abs (Integer vuz230 * Integer vuz210) == fromInt (Pos Zero)",fontsize=16,color="magenta"];1027 -> 1051[label="",style="dashed", color="magenta", weight=3]; 1028[label="abs (Integer vuz230 * Integer vuz210)",fontsize=16,color="black",shape="triangle"];1028 -> 1039[label="",style="solid", color="black", weight=3]; 1029[label="abs (Integer vuz50)",fontsize=16,color="black",shape="triangle"];1029 -> 1040[label="",style="solid", color="black", weight=3]; 1026[label="Integer vuz49 `quot` gcd0Gcd'1 vuz100 vuz99 vuz97",fontsize=16,color="burlywood",shape="triangle"];1548[label="vuz100/False",fontsize=10,color="white",style="solid",shape="box"];1026 -> 1548[label="",style="solid", color="burlywood", weight=9]; 1548 -> 1041[label="",style="solid", color="burlywood", weight=3]; 1549[label="vuz100/True",fontsize=10,color="white",style="solid",shape="box"];1026 -> 1549[label="",style="solid", color="burlywood", weight=9]; 1549 -> 1042[label="",style="solid", color="burlywood", weight=3]; 550[label="error []",fontsize=16,color="red",shape="box"];606[label="absReal1 vuz33 (not (compare vuz33 (fromInt (Pos Zero)) == LT))",fontsize=16,color="black",shape="box"];606 -> 618[label="",style="solid", color="black", weight=3]; 607 -> 619[label="",style="dashed", color="red", weight=0]; 607[label="gcd0Gcd'1 (vuz75 `rem` vuz74 == fromInt (Pos Zero)) vuz74 (vuz75 `rem` vuz74)",fontsize=16,color="magenta"];607 -> 620[label="",style="dashed", color="magenta", weight=3]; 1199 -> 489[label="",style="dashed", color="red", weight=0]; 1199[label="primDivNatS (primMinusNatS (Succ vuz104) (Succ vuz105)) (Succ (Succ vuz105))",fontsize=16,color="magenta"];1199 -> 1216[label="",style="dashed", color="magenta", weight=3]; 1199 -> 1217[label="",style="dashed", color="magenta", weight=3]; 551 -> 1026[label="",style="dashed", color="red", weight=0]; 551[label="Integer vuz43 `quot` gcd0Gcd'1 (abs (Integer vuz44) == fromInt (Pos Zero)) (abs (Integer vuz61)) (abs (Integer vuz44))",fontsize=16,color="magenta"];551 -> 1032[label="",style="dashed", color="magenta", weight=3]; 551 -> 1033[label="",style="dashed", color="magenta", weight=3]; 551 -> 1034[label="",style="dashed", color="magenta", weight=3]; 551 -> 1035[label="",style="dashed", color="magenta", weight=3]; 552 -> 496[label="",style="dashed", color="red", weight=0]; 552[label="Integer vuz43 `quot` gcd0 (Integer vuz61) (Integer vuz44)",fontsize=16,color="magenta"];553 -> 531[label="",style="dashed", color="red", weight=0]; 553[label="Integer vuz43 `quot` error []",fontsize=16,color="magenta"];553 -> 564[label="",style="dashed", color="magenta", weight=3]; 1051 -> 1028[label="",style="dashed", color="red", weight=0]; 1051[label="abs (Integer vuz230 * Integer vuz210)",fontsize=16,color="magenta"];1039 -> 1059[label="",style="dashed", color="red", weight=0]; 1039[label="absReal (Integer vuz230 * Integer vuz210)",fontsize=16,color="magenta"];1039 -> 1060[label="",style="dashed", color="magenta", weight=3]; 1040 -> 1059[label="",style="dashed", color="red", weight=0]; 1040[label="absReal (Integer vuz50)",fontsize=16,color="magenta"];1040 -> 1061[label="",style="dashed", color="magenta", weight=3]; 1041[label="Integer vuz49 `quot` gcd0Gcd'1 False vuz99 vuz97",fontsize=16,color="black",shape="box"];1041 -> 1066[label="",style="solid", color="black", weight=3]; 1042[label="Integer vuz49 `quot` gcd0Gcd'1 True vuz99 vuz97",fontsize=16,color="black",shape="box"];1042 -> 1067[label="",style="solid", color="black", weight=3]; 618[label="absReal1 vuz33 (not (primCmpInt vuz33 (fromInt (Pos Zero)) == LT))",fontsize=16,color="burlywood",shape="box"];1550[label="vuz33/Pos vuz330",fontsize=10,color="white",style="solid",shape="box"];618 -> 1550[label="",style="solid", color="burlywood", weight=9]; 1550 -> 628[label="",style="solid", color="burlywood", weight=3]; 1551[label="vuz33/Neg vuz330",fontsize=10,color="white",style="solid",shape="box"];618 -> 1551[label="",style="solid", color="burlywood", weight=9]; 1551 -> 629[label="",style="solid", color="burlywood", weight=3]; 620 -> 138[label="",style="dashed", color="red", weight=0]; 620[label="vuz75 `rem` vuz74 == fromInt (Pos Zero)",fontsize=16,color="magenta"];620 -> 630[label="",style="dashed", color="magenta", weight=3]; 619[label="gcd0Gcd'1 vuz76 vuz74 (vuz75 `rem` vuz74)",fontsize=16,color="burlywood",shape="triangle"];1552[label="vuz76/False",fontsize=10,color="white",style="solid",shape="box"];619 -> 1552[label="",style="solid", color="burlywood", weight=9]; 1552 -> 631[label="",style="solid", color="burlywood", weight=3]; 1553[label="vuz76/True",fontsize=10,color="white",style="solid",shape="box"];619 -> 1553[label="",style="solid", color="burlywood", weight=9]; 1553 -> 632[label="",style="solid", color="burlywood", weight=3]; 1216[label="Succ vuz105",fontsize=16,color="green",shape="box"];1217 -> 883[label="",style="dashed", color="red", weight=0]; 1217[label="primMinusNatS (Succ vuz104) (Succ vuz105)",fontsize=16,color="magenta"];1217 -> 1238[label="",style="dashed", color="magenta", weight=3]; 1217 -> 1239[label="",style="dashed", color="magenta", weight=3]; 1032[label="vuz43",fontsize=16,color="green",shape="box"];1033 -> 1043[label="",style="dashed", color="red", weight=0]; 1033[label="abs (Integer vuz44) == fromInt (Pos Zero)",fontsize=16,color="magenta"];1033 -> 1053[label="",style="dashed", color="magenta", weight=3]; 1034 -> 1029[label="",style="dashed", color="red", weight=0]; 1034[label="abs (Integer vuz44)",fontsize=16,color="magenta"];1034 -> 1068[label="",style="dashed", color="magenta", weight=3]; 1035 -> 1029[label="",style="dashed", color="red", weight=0]; 1035[label="abs (Integer vuz61)",fontsize=16,color="magenta"];1035 -> 1069[label="",style="dashed", color="magenta", weight=3]; 564[label="vuz43",fontsize=16,color="green",shape="box"];1060 -> 1044[label="",style="dashed", color="red", weight=0]; 1060[label="Integer vuz230 * Integer vuz210",fontsize=16,color="magenta"];1060 -> 1070[label="",style="dashed", color="magenta", weight=3]; 1060 -> 1071[label="",style="dashed", color="magenta", weight=3]; 1059[label="absReal vuz102",fontsize=16,color="black",shape="triangle"];1059 -> 1072[label="",style="solid", color="black", weight=3]; 1061[label="Integer vuz50",fontsize=16,color="green",shape="box"];1066[label="Integer vuz49 `quot` gcd0Gcd'0 vuz99 vuz97",fontsize=16,color="black",shape="box"];1066 -> 1090[label="",style="solid", color="black", weight=3]; 1067[label="Integer vuz49 `quot` vuz99",fontsize=16,color="burlywood",shape="triangle"];1554[label="vuz99/Integer vuz990",fontsize=10,color="white",style="solid",shape="box"];1067 -> 1554[label="",style="solid", color="burlywood", weight=9]; 1554 -> 1091[label="",style="solid", color="burlywood", weight=3]; 628[label="absReal1 (Pos vuz330) (not (primCmpInt (Pos vuz330) (fromInt (Pos Zero)) == LT))",fontsize=16,color="burlywood",shape="box"];1555[label="vuz330/Succ vuz3300",fontsize=10,color="white",style="solid",shape="box"];628 -> 1555[label="",style="solid", color="burlywood", weight=9]; 1555 -> 642[label="",style="solid", color="burlywood", weight=3]; 1556[label="vuz330/Zero",fontsize=10,color="white",style="solid",shape="box"];628 -> 1556[label="",style="solid", color="burlywood", weight=9]; 1556 -> 643[label="",style="solid", color="burlywood", weight=3]; 629[label="absReal1 (Neg vuz330) (not (primCmpInt (Neg vuz330) (fromInt (Pos Zero)) == LT))",fontsize=16,color="burlywood",shape="box"];1557[label="vuz330/Succ vuz3300",fontsize=10,color="white",style="solid",shape="box"];629 -> 1557[label="",style="solid", color="burlywood", weight=9]; 1557 -> 644[label="",style="solid", color="burlywood", weight=3]; 1558[label="vuz330/Zero",fontsize=10,color="white",style="solid",shape="box"];629 -> 1558[label="",style="solid", color="burlywood", weight=9]; 1558 -> 645[label="",style="solid", color="burlywood", weight=3]; 630[label="vuz75 `rem` vuz74",fontsize=16,color="black",shape="triangle"];630 -> 646[label="",style="solid", color="black", weight=3]; 631[label="gcd0Gcd'1 False vuz74 (vuz75 `rem` vuz74)",fontsize=16,color="black",shape="box"];631 -> 647[label="",style="solid", color="black", weight=3]; 632[label="gcd0Gcd'1 True vuz74 (vuz75 `rem` vuz74)",fontsize=16,color="black",shape="box"];632 -> 648[label="",style="solid", color="black", weight=3]; 1238[label="Succ vuz104",fontsize=16,color="green",shape="box"];1239[label="Succ vuz105",fontsize=16,color="green",shape="box"];883[label="primMinusNatS vuz94 vuz95",fontsize=16,color="burlywood",shape="triangle"];1559[label="vuz94/Succ vuz940",fontsize=10,color="white",style="solid",shape="box"];883 -> 1559[label="",style="solid", color="burlywood", weight=9]; 1559 -> 899[label="",style="solid", color="burlywood", weight=3]; 1560[label="vuz94/Zero",fontsize=10,color="white",style="solid",shape="box"];883 -> 1560[label="",style="solid", color="burlywood", weight=9]; 1560 -> 900[label="",style="solid", color="burlywood", weight=3]; 1053 -> 1029[label="",style="dashed", color="red", weight=0]; 1053[label="abs (Integer vuz44)",fontsize=16,color="magenta"];1053 -> 1073[label="",style="dashed", color="magenta", weight=3]; 1068[label="vuz44",fontsize=16,color="green",shape="box"];1069[label="vuz61",fontsize=16,color="green",shape="box"];1070[label="Integer vuz210",fontsize=16,color="green",shape="box"];1071[label="Integer vuz230",fontsize=16,color="green",shape="box"];1072[label="absReal2 vuz102",fontsize=16,color="black",shape="box"];1072 -> 1092[label="",style="solid", color="black", weight=3]; 1090 -> 1067[label="",style="dashed", color="red", weight=0]; 1090[label="Integer vuz49 `quot` gcd0Gcd' vuz97 (vuz99 `rem` vuz97)",fontsize=16,color="magenta"];1090 -> 1144[label="",style="dashed", color="magenta", weight=3]; 1091[label="Integer vuz49 `quot` Integer vuz990",fontsize=16,color="black",shape="box"];1091 -> 1145[label="",style="solid", color="black", weight=3]; 642[label="absReal1 (Pos (Succ vuz3300)) (not (primCmpInt (Pos (Succ vuz3300)) (fromInt (Pos Zero)) == LT))",fontsize=16,color="black",shape="box"];642 -> 668[label="",style="solid", color="black", weight=3]; 643[label="absReal1 (Pos Zero) (not (primCmpInt (Pos Zero) (fromInt (Pos Zero)) == LT))",fontsize=16,color="black",shape="box"];643 -> 669[label="",style="solid", color="black", weight=3]; 644[label="absReal1 (Neg (Succ vuz3300)) (not (primCmpInt (Neg (Succ vuz3300)) (fromInt (Pos Zero)) == LT))",fontsize=16,color="black",shape="box"];644 -> 670[label="",style="solid", color="black", weight=3]; 645[label="absReal1 (Neg Zero) (not (primCmpInt (Neg Zero) (fromInt (Pos Zero)) == LT))",fontsize=16,color="black",shape="box"];645 -> 671[label="",style="solid", color="black", weight=3]; 646[label="primRemInt vuz75 vuz74",fontsize=16,color="burlywood",shape="triangle"];1561[label="vuz75/Pos vuz750",fontsize=10,color="white",style="solid",shape="box"];646 -> 1561[label="",style="solid", color="burlywood", weight=9]; 1561 -> 672[label="",style="solid", color="burlywood", weight=3]; 1562[label="vuz75/Neg vuz750",fontsize=10,color="white",style="solid",shape="box"];646 -> 1562[label="",style="solid", color="burlywood", weight=9]; 1562 -> 673[label="",style="solid", color="burlywood", weight=3]; 647 -> 572[label="",style="dashed", color="red", weight=0]; 647[label="gcd0Gcd'0 vuz74 (vuz75 `rem` vuz74)",fontsize=16,color="magenta"];647 -> 674[label="",style="dashed", color="magenta", weight=3]; 647 -> 675[label="",style="dashed", color="magenta", weight=3]; 648[label="vuz74",fontsize=16,color="green",shape="box"];899[label="primMinusNatS (Succ vuz940) vuz95",fontsize=16,color="burlywood",shape="box"];1563[label="vuz95/Succ vuz950",fontsize=10,color="white",style="solid",shape="box"];899 -> 1563[label="",style="solid", color="burlywood", weight=9]; 1563 -> 989[label="",style="solid", color="burlywood", weight=3]; 1564[label="vuz95/Zero",fontsize=10,color="white",style="solid",shape="box"];899 -> 1564[label="",style="solid", color="burlywood", weight=9]; 1564 -> 990[label="",style="solid", color="burlywood", weight=3]; 900[label="primMinusNatS Zero vuz95",fontsize=16,color="burlywood",shape="box"];1565[label="vuz95/Succ vuz950",fontsize=10,color="white",style="solid",shape="box"];900 -> 1565[label="",style="solid", color="burlywood", weight=9]; 1565 -> 991[label="",style="solid", color="burlywood", weight=3]; 1566[label="vuz95/Zero",fontsize=10,color="white",style="solid",shape="box"];900 -> 1566[label="",style="solid", color="burlywood", weight=9]; 1566 -> 992[label="",style="solid", color="burlywood", weight=3]; 1073[label="vuz44",fontsize=16,color="green",shape="box"];1092[label="absReal1 vuz102 (vuz102 >= fromInt (Pos Zero))",fontsize=16,color="black",shape="box"];1092 -> 1146[label="",style="solid", color="black", weight=3]; 1144[label="gcd0Gcd' vuz97 (vuz99 `rem` vuz97)",fontsize=16,color="black",shape="triangle"];1144 -> 1165[label="",style="solid", color="black", weight=3]; 1145[label="Integer (primQuotInt vuz49 vuz990)",fontsize=16,color="green",shape="box"];1145 -> 1166[label="",style="dashed", color="green", weight=3]; 668[label="absReal1 (Pos (Succ vuz3300)) (not (primCmpInt (Pos (Succ vuz3300)) (Pos Zero) == LT))",fontsize=16,color="black",shape="box"];668 -> 692[label="",style="solid", color="black", weight=3]; 669[label="absReal1 (Pos Zero) (not (primCmpInt (Pos Zero) (Pos Zero) == LT))",fontsize=16,color="black",shape="box"];669 -> 693[label="",style="solid", color="black", weight=3]; 670[label="absReal1 (Neg (Succ vuz3300)) (not (primCmpInt (Neg (Succ vuz3300)) (Pos Zero) == LT))",fontsize=16,color="black",shape="box"];670 -> 694[label="",style="solid", color="black", weight=3]; 671[label="absReal1 (Neg Zero) (not (primCmpInt (Neg Zero) (Pos Zero) == LT))",fontsize=16,color="black",shape="box"];671 -> 695[label="",style="solid", color="black", weight=3]; 672[label="primRemInt (Pos vuz750) vuz74",fontsize=16,color="burlywood",shape="box"];1567[label="vuz74/Pos vuz740",fontsize=10,color="white",style="solid",shape="box"];672 -> 1567[label="",style="solid", color="burlywood", weight=9]; 1567 -> 696[label="",style="solid", color="burlywood", weight=3]; 1568[label="vuz74/Neg vuz740",fontsize=10,color="white",style="solid",shape="box"];672 -> 1568[label="",style="solid", color="burlywood", weight=9]; 1568 -> 697[label="",style="solid", color="burlywood", weight=3]; 673[label="primRemInt (Neg vuz750) vuz74",fontsize=16,color="burlywood",shape="box"];1569[label="vuz74/Pos vuz740",fontsize=10,color="white",style="solid",shape="box"];673 -> 1569[label="",style="solid", color="burlywood", weight=9]; 1569 -> 698[label="",style="solid", color="burlywood", weight=3]; 1570[label="vuz74/Neg vuz740",fontsize=10,color="white",style="solid",shape="box"];673 -> 1570[label="",style="solid", color="burlywood", weight=9]; 1570 -> 699[label="",style="solid", color="burlywood", weight=3]; 674 -> 630[label="",style="dashed", color="red", weight=0]; 674[label="vuz75 `rem` vuz74",fontsize=16,color="magenta"];675[label="vuz74",fontsize=16,color="green",shape="box"];989[label="primMinusNatS (Succ vuz940) (Succ vuz950)",fontsize=16,color="black",shape="box"];989 -> 1009[label="",style="solid", color="black", weight=3]; 990[label="primMinusNatS (Succ vuz940) Zero",fontsize=16,color="black",shape="box"];990 -> 1010[label="",style="solid", color="black", weight=3]; 991[label="primMinusNatS Zero (Succ vuz950)",fontsize=16,color="black",shape="box"];991 -> 1011[label="",style="solid", color="black", weight=3]; 992[label="primMinusNatS Zero Zero",fontsize=16,color="black",shape="box"];992 -> 1012[label="",style="solid", color="black", weight=3]; 1146[label="absReal1 vuz102 (compare vuz102 (fromInt (Pos Zero)) /= LT)",fontsize=16,color="black",shape="box"];1146 -> 1167[label="",style="solid", color="black", weight=3]; 1165[label="gcd0Gcd'2 vuz97 (vuz99 `rem` vuz97)",fontsize=16,color="black",shape="box"];1165 -> 1184[label="",style="solid", color="black", weight=3]; 1166[label="primQuotInt vuz49 vuz990",fontsize=16,color="burlywood",shape="box"];1571[label="vuz49/Pos vuz490",fontsize=10,color="white",style="solid",shape="box"];1166 -> 1571[label="",style="solid", color="burlywood", weight=9]; 1571 -> 1185[label="",style="solid", color="burlywood", weight=3]; 1572[label="vuz49/Neg vuz490",fontsize=10,color="white",style="solid",shape="box"];1166 -> 1572[label="",style="solid", color="burlywood", weight=9]; 1572 -> 1186[label="",style="solid", color="burlywood", weight=3]; 692[label="absReal1 (Pos (Succ vuz3300)) (not (primCmpNat (Succ vuz3300) Zero == LT))",fontsize=16,color="black",shape="box"];692 -> 708[label="",style="solid", color="black", weight=3]; 693[label="absReal1 (Pos Zero) (not (EQ == LT))",fontsize=16,color="black",shape="box"];693 -> 709[label="",style="solid", color="black", weight=3]; 694[label="absReal1 (Neg (Succ vuz3300)) (not (LT == LT))",fontsize=16,color="black",shape="box"];694 -> 710[label="",style="solid", color="black", weight=3]; 695[label="absReal1 (Neg Zero) (not (EQ == LT))",fontsize=16,color="black",shape="box"];695 -> 711[label="",style="solid", color="black", weight=3]; 696[label="primRemInt (Pos vuz750) (Pos vuz740)",fontsize=16,color="burlywood",shape="box"];1573[label="vuz740/Succ vuz7400",fontsize=10,color="white",style="solid",shape="box"];696 -> 1573[label="",style="solid", color="burlywood", weight=9]; 1573 -> 712[label="",style="solid", color="burlywood", weight=3]; 1574[label="vuz740/Zero",fontsize=10,color="white",style="solid",shape="box"];696 -> 1574[label="",style="solid", color="burlywood", weight=9]; 1574 -> 713[label="",style="solid", color="burlywood", weight=3]; 697[label="primRemInt (Pos vuz750) (Neg vuz740)",fontsize=16,color="burlywood",shape="box"];1575[label="vuz740/Succ vuz7400",fontsize=10,color="white",style="solid",shape="box"];697 -> 1575[label="",style="solid", color="burlywood", weight=9]; 1575 -> 714[label="",style="solid", color="burlywood", weight=3]; 1576[label="vuz740/Zero",fontsize=10,color="white",style="solid",shape="box"];697 -> 1576[label="",style="solid", color="burlywood", weight=9]; 1576 -> 715[label="",style="solid", color="burlywood", weight=3]; 698[label="primRemInt (Neg vuz750) (Pos vuz740)",fontsize=16,color="burlywood",shape="box"];1577[label="vuz740/Succ vuz7400",fontsize=10,color="white",style="solid",shape="box"];698 -> 1577[label="",style="solid", color="burlywood", weight=9]; 1577 -> 716[label="",style="solid", color="burlywood", weight=3]; 1578[label="vuz740/Zero",fontsize=10,color="white",style="solid",shape="box"];698 -> 1578[label="",style="solid", color="burlywood", weight=9]; 1578 -> 717[label="",style="solid", color="burlywood", weight=3]; 699[label="primRemInt (Neg vuz750) (Neg vuz740)",fontsize=16,color="burlywood",shape="box"];1579[label="vuz740/Succ vuz7400",fontsize=10,color="white",style="solid",shape="box"];699 -> 1579[label="",style="solid", color="burlywood", weight=9]; 1579 -> 718[label="",style="solid", color="burlywood", weight=3]; 1580[label="vuz740/Zero",fontsize=10,color="white",style="solid",shape="box"];699 -> 1580[label="",style="solid", color="burlywood", weight=9]; 1580 -> 719[label="",style="solid", color="burlywood", weight=3]; 1009 -> 883[label="",style="dashed", color="red", weight=0]; 1009[label="primMinusNatS vuz940 vuz950",fontsize=16,color="magenta"];1009 -> 1074[label="",style="dashed", color="magenta", weight=3]; 1009 -> 1075[label="",style="dashed", color="magenta", weight=3]; 1010[label="Succ vuz940",fontsize=16,color="green",shape="box"];1011[label="Zero",fontsize=16,color="green",shape="box"];1012[label="Zero",fontsize=16,color="green",shape="box"];1167[label="absReal1 vuz102 (not (compare vuz102 (fromInt (Pos Zero)) == LT))",fontsize=16,color="burlywood",shape="box"];1581[label="vuz102/Integer vuz1020",fontsize=10,color="white",style="solid",shape="box"];1167 -> 1581[label="",style="solid", color="burlywood", weight=9]; 1581 -> 1187[label="",style="solid", color="burlywood", weight=3]; 1184 -> 1197[label="",style="dashed", color="red", weight=0]; 1184[label="gcd0Gcd'1 (vuz99 `rem` vuz97 == fromInt (Pos Zero)) vuz97 (vuz99 `rem` vuz97)",fontsize=16,color="magenta"];1184 -> 1198[label="",style="dashed", color="magenta", weight=3]; 1185[label="primQuotInt (Pos vuz490) vuz990",fontsize=16,color="burlywood",shape="box"];1582[label="vuz990/Pos vuz9900",fontsize=10,color="white",style="solid",shape="box"];1185 -> 1582[label="",style="solid", color="burlywood", weight=9]; 1582 -> 1200[label="",style="solid", color="burlywood", weight=3]; 1583[label="vuz990/Neg vuz9900",fontsize=10,color="white",style="solid",shape="box"];1185 -> 1583[label="",style="solid", color="burlywood", weight=9]; 1583 -> 1201[label="",style="solid", color="burlywood", weight=3]; 1186[label="primQuotInt (Neg vuz490) vuz990",fontsize=16,color="burlywood",shape="box"];1584[label="vuz990/Pos vuz9900",fontsize=10,color="white",style="solid",shape="box"];1186 -> 1584[label="",style="solid", color="burlywood", weight=9]; 1584 -> 1202[label="",style="solid", color="burlywood", weight=3]; 1585[label="vuz990/Neg vuz9900",fontsize=10,color="white",style="solid",shape="box"];1186 -> 1585[label="",style="solid", color="burlywood", weight=9]; 1585 -> 1203[label="",style="solid", color="burlywood", weight=3]; 708[label="absReal1 (Pos (Succ vuz3300)) (not (GT == LT))",fontsize=16,color="black",shape="box"];708 -> 730[label="",style="solid", color="black", weight=3]; 709[label="absReal1 (Pos Zero) (not False)",fontsize=16,color="black",shape="box"];709 -> 731[label="",style="solid", color="black", weight=3]; 710[label="absReal1 (Neg (Succ vuz3300)) (not True)",fontsize=16,color="black",shape="box"];710 -> 732[label="",style="solid", color="black", weight=3]; 711[label="absReal1 (Neg Zero) (not False)",fontsize=16,color="black",shape="box"];711 -> 733[label="",style="solid", color="black", weight=3]; 712[label="primRemInt (Pos vuz750) (Pos (Succ vuz7400))",fontsize=16,color="black",shape="box"];712 -> 734[label="",style="solid", color="black", weight=3]; 713[label="primRemInt (Pos vuz750) (Pos Zero)",fontsize=16,color="black",shape="box"];713 -> 735[label="",style="solid", color="black", weight=3]; 714[label="primRemInt (Pos vuz750) (Neg (Succ vuz7400))",fontsize=16,color="black",shape="box"];714 -> 736[label="",style="solid", color="black", weight=3]; 715[label="primRemInt (Pos vuz750) (Neg Zero)",fontsize=16,color="black",shape="box"];715 -> 737[label="",style="solid", color="black", weight=3]; 716[label="primRemInt (Neg vuz750) (Pos (Succ vuz7400))",fontsize=16,color="black",shape="box"];716 -> 738[label="",style="solid", color="black", weight=3]; 717[label="primRemInt (Neg vuz750) (Pos Zero)",fontsize=16,color="black",shape="box"];717 -> 739[label="",style="solid", color="black", weight=3]; 718[label="primRemInt (Neg vuz750) (Neg (Succ vuz7400))",fontsize=16,color="black",shape="box"];718 -> 740[label="",style="solid", color="black", weight=3]; 719[label="primRemInt (Neg vuz750) (Neg Zero)",fontsize=16,color="black",shape="box"];719 -> 741[label="",style="solid", color="black", weight=3]; 1074[label="vuz940",fontsize=16,color="green",shape="box"];1075[label="vuz950",fontsize=16,color="green",shape="box"];1187[label="absReal1 (Integer vuz1020) (not (compare (Integer vuz1020) (fromInt (Pos Zero)) == LT))",fontsize=16,color="black",shape="box"];1187 -> 1204[label="",style="solid", color="black", weight=3]; 1198 -> 1043[label="",style="dashed", color="red", weight=0]; 1198[label="vuz99 `rem` vuz97 == fromInt (Pos Zero)",fontsize=16,color="magenta"];1198 -> 1205[label="",style="dashed", color="magenta", weight=3]; 1197[label="gcd0Gcd'1 vuz108 vuz97 (vuz99 `rem` vuz97)",fontsize=16,color="burlywood",shape="triangle"];1586[label="vuz108/False",fontsize=10,color="white",style="solid",shape="box"];1197 -> 1586[label="",style="solid", color="burlywood", weight=9]; 1586 -> 1206[label="",style="solid", color="burlywood", weight=3]; 1587[label="vuz108/True",fontsize=10,color="white",style="solid",shape="box"];1197 -> 1587[label="",style="solid", color="burlywood", weight=9]; 1587 -> 1207[label="",style="solid", color="burlywood", weight=3]; 1200[label="primQuotInt (Pos vuz490) (Pos vuz9900)",fontsize=16,color="burlywood",shape="box"];1588[label="vuz9900/Succ vuz99000",fontsize=10,color="white",style="solid",shape="box"];1200 -> 1588[label="",style="solid", color="burlywood", weight=9]; 1588 -> 1218[label="",style="solid", color="burlywood", weight=3]; 1589[label="vuz9900/Zero",fontsize=10,color="white",style="solid",shape="box"];1200 -> 1589[label="",style="solid", color="burlywood", weight=9]; 1589 -> 1219[label="",style="solid", color="burlywood", weight=3]; 1201[label="primQuotInt (Pos vuz490) (Neg vuz9900)",fontsize=16,color="burlywood",shape="box"];1590[label="vuz9900/Succ vuz99000",fontsize=10,color="white",style="solid",shape="box"];1201 -> 1590[label="",style="solid", color="burlywood", weight=9]; 1590 -> 1220[label="",style="solid", color="burlywood", weight=3]; 1591[label="vuz9900/Zero",fontsize=10,color="white",style="solid",shape="box"];1201 -> 1591[label="",style="solid", color="burlywood", weight=9]; 1591 -> 1221[label="",style="solid", color="burlywood", weight=3]; 1202[label="primQuotInt (Neg vuz490) (Pos vuz9900)",fontsize=16,color="burlywood",shape="box"];1592[label="vuz9900/Succ vuz99000",fontsize=10,color="white",style="solid",shape="box"];1202 -> 1592[label="",style="solid", color="burlywood", weight=9]; 1592 -> 1222[label="",style="solid", color="burlywood", weight=3]; 1593[label="vuz9900/Zero",fontsize=10,color="white",style="solid",shape="box"];1202 -> 1593[label="",style="solid", color="burlywood", weight=9]; 1593 -> 1223[label="",style="solid", color="burlywood", weight=3]; 1203[label="primQuotInt (Neg vuz490) (Neg vuz9900)",fontsize=16,color="burlywood",shape="box"];1594[label="vuz9900/Succ vuz99000",fontsize=10,color="white",style="solid",shape="box"];1203 -> 1594[label="",style="solid", color="burlywood", weight=9]; 1594 -> 1224[label="",style="solid", color="burlywood", weight=3]; 1595[label="vuz9900/Zero",fontsize=10,color="white",style="solid",shape="box"];1203 -> 1595[label="",style="solid", color="burlywood", weight=9]; 1595 -> 1225[label="",style="solid", color="burlywood", weight=3]; 730[label="absReal1 (Pos (Succ vuz3300)) (not False)",fontsize=16,color="black",shape="box"];730 -> 753[label="",style="solid", color="black", weight=3]; 731[label="absReal1 (Pos Zero) True",fontsize=16,color="black",shape="box"];731 -> 754[label="",style="solid", color="black", weight=3]; 732[label="absReal1 (Neg (Succ vuz3300)) False",fontsize=16,color="black",shape="box"];732 -> 755[label="",style="solid", color="black", weight=3]; 733[label="absReal1 (Neg Zero) True",fontsize=16,color="black",shape="box"];733 -> 756[label="",style="solid", color="black", weight=3]; 734[label="Pos (primModNatS vuz750 (Succ vuz7400))",fontsize=16,color="green",shape="box"];734 -> 757[label="",style="dashed", color="green", weight=3]; 735 -> 471[label="",style="dashed", color="red", weight=0]; 735[label="error []",fontsize=16,color="magenta"];736[label="Pos (primModNatS vuz750 (Succ vuz7400))",fontsize=16,color="green",shape="box"];736 -> 758[label="",style="dashed", color="green", weight=3]; 737 -> 471[label="",style="dashed", color="red", weight=0]; 737[label="error []",fontsize=16,color="magenta"];738[label="Neg (primModNatS vuz750 (Succ vuz7400))",fontsize=16,color="green",shape="box"];738 -> 759[label="",style="dashed", color="green", weight=3]; 739 -> 471[label="",style="dashed", color="red", weight=0]; 739[label="error []",fontsize=16,color="magenta"];740[label="Neg (primModNatS vuz750 (Succ vuz7400))",fontsize=16,color="green",shape="box"];740 -> 760[label="",style="dashed", color="green", weight=3]; 741 -> 471[label="",style="dashed", color="red", weight=0]; 741[label="error []",fontsize=16,color="magenta"];1204[label="absReal1 (Integer vuz1020) (not (compare (Integer vuz1020) (Integer (Pos Zero)) == LT))",fontsize=16,color="black",shape="box"];1204 -> 1226[label="",style="solid", color="black", weight=3]; 1205[label="vuz99 `rem` vuz97",fontsize=16,color="burlywood",shape="triangle"];1596[label="vuz99/Integer vuz990",fontsize=10,color="white",style="solid",shape="box"];1205 -> 1596[label="",style="solid", color="burlywood", weight=9]; 1596 -> 1227[label="",style="solid", color="burlywood", weight=3]; 1206[label="gcd0Gcd'1 False vuz97 (vuz99 `rem` vuz97)",fontsize=16,color="black",shape="box"];1206 -> 1228[label="",style="solid", color="black", weight=3]; 1207[label="gcd0Gcd'1 True vuz97 (vuz99 `rem` vuz97)",fontsize=16,color="black",shape="box"];1207 -> 1229[label="",style="solid", color="black", weight=3]; 1218[label="primQuotInt (Pos vuz490) (Pos (Succ vuz99000))",fontsize=16,color="black",shape="box"];1218 -> 1240[label="",style="solid", color="black", weight=3]; 1219[label="primQuotInt (Pos vuz490) (Pos Zero)",fontsize=16,color="black",shape="box"];1219 -> 1241[label="",style="solid", color="black", weight=3]; 1220[label="primQuotInt (Pos vuz490) (Neg (Succ vuz99000))",fontsize=16,color="black",shape="box"];1220 -> 1242[label="",style="solid", color="black", weight=3]; 1221[label="primQuotInt (Pos vuz490) (Neg Zero)",fontsize=16,color="black",shape="box"];1221 -> 1243[label="",style="solid", color="black", weight=3]; 1222[label="primQuotInt (Neg vuz490) (Pos (Succ vuz99000))",fontsize=16,color="black",shape="box"];1222 -> 1244[label="",style="solid", color="black", weight=3]; 1223[label="primQuotInt (Neg vuz490) (Pos Zero)",fontsize=16,color="black",shape="box"];1223 -> 1245[label="",style="solid", color="black", weight=3]; 1224[label="primQuotInt (Neg vuz490) (Neg (Succ vuz99000))",fontsize=16,color="black",shape="box"];1224 -> 1246[label="",style="solid", color="black", weight=3]; 1225[label="primQuotInt (Neg vuz490) (Neg Zero)",fontsize=16,color="black",shape="box"];1225 -> 1247[label="",style="solid", color="black", weight=3]; 753[label="absReal1 (Pos (Succ vuz3300)) True",fontsize=16,color="black",shape="box"];753 -> 772[label="",style="solid", color="black", weight=3]; 754[label="Pos Zero",fontsize=16,color="green",shape="box"];755[label="absReal0 (Neg (Succ vuz3300)) otherwise",fontsize=16,color="black",shape="box"];755 -> 773[label="",style="solid", color="black", weight=3]; 756[label="Neg Zero",fontsize=16,color="green",shape="box"];757[label="primModNatS vuz750 (Succ vuz7400)",fontsize=16,color="burlywood",shape="triangle"];1597[label="vuz750/Succ vuz7500",fontsize=10,color="white",style="solid",shape="box"];757 -> 1597[label="",style="solid", color="burlywood", weight=9]; 1597 -> 774[label="",style="solid", color="burlywood", weight=3]; 1598[label="vuz750/Zero",fontsize=10,color="white",style="solid",shape="box"];757 -> 1598[label="",style="solid", color="burlywood", weight=9]; 1598 -> 775[label="",style="solid", color="burlywood", weight=3]; 758 -> 757[label="",style="dashed", color="red", weight=0]; 758[label="primModNatS vuz750 (Succ vuz7400)",fontsize=16,color="magenta"];758 -> 776[label="",style="dashed", color="magenta", weight=3]; 759 -> 757[label="",style="dashed", color="red", weight=0]; 759[label="primModNatS vuz750 (Succ vuz7400)",fontsize=16,color="magenta"];759 -> 777[label="",style="dashed", color="magenta", weight=3]; 760 -> 757[label="",style="dashed", color="red", weight=0]; 760[label="primModNatS vuz750 (Succ vuz7400)",fontsize=16,color="magenta"];760 -> 778[label="",style="dashed", color="magenta", weight=3]; 760 -> 779[label="",style="dashed", color="magenta", weight=3]; 1226[label="absReal1 (Integer vuz1020) (not (primCmpInt vuz1020 (Pos Zero) == LT))",fontsize=16,color="burlywood",shape="box"];1599[label="vuz1020/Pos vuz10200",fontsize=10,color="white",style="solid",shape="box"];1226 -> 1599[label="",style="solid", color="burlywood", weight=9]; 1599 -> 1248[label="",style="solid", color="burlywood", weight=3]; 1600[label="vuz1020/Neg vuz10200",fontsize=10,color="white",style="solid",shape="box"];1226 -> 1600[label="",style="solid", color="burlywood", weight=9]; 1600 -> 1249[label="",style="solid", color="burlywood", weight=3]; 1227[label="Integer vuz990 `rem` vuz97",fontsize=16,color="burlywood",shape="box"];1601[label="vuz97/Integer vuz970",fontsize=10,color="white",style="solid",shape="box"];1227 -> 1601[label="",style="solid", color="burlywood", weight=9]; 1601 -> 1250[label="",style="solid", color="burlywood", weight=3]; 1228 -> 1251[label="",style="dashed", color="red", weight=0]; 1228[label="gcd0Gcd'0 vuz97 (vuz99 `rem` vuz97)",fontsize=16,color="magenta"];1228 -> 1252[label="",style="dashed", color="magenta", weight=3]; 1229[label="vuz97",fontsize=16,color="green",shape="box"];1240[label="Pos (primDivNatS vuz490 (Succ vuz99000))",fontsize=16,color="green",shape="box"];1240 -> 1253[label="",style="dashed", color="green", weight=3]; 1241 -> 471[label="",style="dashed", color="red", weight=0]; 1241[label="error []",fontsize=16,color="magenta"];1242[label="Neg (primDivNatS vuz490 (Succ vuz99000))",fontsize=16,color="green",shape="box"];1242 -> 1254[label="",style="dashed", color="green", weight=3]; 1243 -> 471[label="",style="dashed", color="red", weight=0]; 1243[label="error []",fontsize=16,color="magenta"];1244[label="Neg (primDivNatS vuz490 (Succ vuz99000))",fontsize=16,color="green",shape="box"];1244 -> 1255[label="",style="dashed", color="green", weight=3]; 1245 -> 471[label="",style="dashed", color="red", weight=0]; 1245[label="error []",fontsize=16,color="magenta"];1246[label="Pos (primDivNatS vuz490 (Succ vuz99000))",fontsize=16,color="green",shape="box"];1246 -> 1256[label="",style="dashed", color="green", weight=3]; 1247 -> 471[label="",style="dashed", color="red", weight=0]; 1247[label="error []",fontsize=16,color="magenta"];772[label="Pos (Succ vuz3300)",fontsize=16,color="green",shape="box"];773[label="absReal0 (Neg (Succ vuz3300)) True",fontsize=16,color="black",shape="box"];773 -> 791[label="",style="solid", color="black", weight=3]; 774[label="primModNatS (Succ vuz7500) (Succ vuz7400)",fontsize=16,color="black",shape="box"];774 -> 792[label="",style="solid", color="black", weight=3]; 775[label="primModNatS Zero (Succ vuz7400)",fontsize=16,color="black",shape="box"];775 -> 793[label="",style="solid", color="black", weight=3]; 776[label="vuz7400",fontsize=16,color="green",shape="box"];777[label="vuz750",fontsize=16,color="green",shape="box"];778[label="vuz7400",fontsize=16,color="green",shape="box"];779[label="vuz750",fontsize=16,color="green",shape="box"];1248[label="absReal1 (Integer (Pos vuz10200)) (not (primCmpInt (Pos vuz10200) (Pos Zero) == LT))",fontsize=16,color="burlywood",shape="box"];1602[label="vuz10200/Succ vuz102000",fontsize=10,color="white",style="solid",shape="box"];1248 -> 1602[label="",style="solid", color="burlywood", weight=9]; 1602 -> 1257[label="",style="solid", color="burlywood", weight=3]; 1603[label="vuz10200/Zero",fontsize=10,color="white",style="solid",shape="box"];1248 -> 1603[label="",style="solid", color="burlywood", weight=9]; 1603 -> 1258[label="",style="solid", color="burlywood", weight=3]; 1249[label="absReal1 (Integer (Neg vuz10200)) (not (primCmpInt (Neg vuz10200) (Pos Zero) == LT))",fontsize=16,color="burlywood",shape="box"];1604[label="vuz10200/Succ vuz102000",fontsize=10,color="white",style="solid",shape="box"];1249 -> 1604[label="",style="solid", color="burlywood", weight=9]; 1604 -> 1259[label="",style="solid", color="burlywood", weight=3]; 1605[label="vuz10200/Zero",fontsize=10,color="white",style="solid",shape="box"];1249 -> 1605[label="",style="solid", color="burlywood", weight=9]; 1605 -> 1260[label="",style="solid", color="burlywood", weight=3]; 1250[label="Integer vuz990 `rem` Integer vuz970",fontsize=16,color="black",shape="box"];1250 -> 1261[label="",style="solid", color="black", weight=3]; 1252 -> 1205[label="",style="dashed", color="red", weight=0]; 1252[label="vuz99 `rem` vuz97",fontsize=16,color="magenta"];1251[label="gcd0Gcd'0 vuz97 vuz109",fontsize=16,color="black",shape="triangle"];1251 -> 1262[label="",style="solid", color="black", weight=3]; 1253 -> 489[label="",style="dashed", color="red", weight=0]; 1253[label="primDivNatS vuz490 (Succ vuz99000)",fontsize=16,color="magenta"];1253 -> 1268[label="",style="dashed", color="magenta", weight=3]; 1253 -> 1269[label="",style="dashed", color="magenta", weight=3]; 1254 -> 489[label="",style="dashed", color="red", weight=0]; 1254[label="primDivNatS vuz490 (Succ vuz99000)",fontsize=16,color="magenta"];1254 -> 1270[label="",style="dashed", color="magenta", weight=3]; 1254 -> 1271[label="",style="dashed", color="magenta", weight=3]; 1255 -> 489[label="",style="dashed", color="red", weight=0]; 1255[label="primDivNatS vuz490 (Succ vuz99000)",fontsize=16,color="magenta"];1255 -> 1272[label="",style="dashed", color="magenta", weight=3]; 1255 -> 1273[label="",style="dashed", color="magenta", weight=3]; 1256 -> 489[label="",style="dashed", color="red", weight=0]; 1256[label="primDivNatS vuz490 (Succ vuz99000)",fontsize=16,color="magenta"];1256 -> 1274[label="",style="dashed", color="magenta", weight=3]; 1256 -> 1275[label="",style="dashed", color="magenta", weight=3]; 791 -> 65[label="",style="dashed", color="red", weight=0]; 791[label="`negate` Neg (Succ vuz3300)",fontsize=16,color="magenta"];791 -> 811[label="",style="dashed", color="magenta", weight=3]; 792[label="primModNatS0 vuz7500 vuz7400 (primGEqNatS vuz7500 vuz7400)",fontsize=16,color="burlywood",shape="box"];1606[label="vuz7500/Succ vuz75000",fontsize=10,color="white",style="solid",shape="box"];792 -> 1606[label="",style="solid", color="burlywood", weight=9]; 1606 -> 812[label="",style="solid", color="burlywood", weight=3]; 1607[label="vuz7500/Zero",fontsize=10,color="white",style="solid",shape="box"];792 -> 1607[label="",style="solid", color="burlywood", weight=9]; 1607 -> 813[label="",style="solid", color="burlywood", weight=3]; 793[label="Zero",fontsize=16,color="green",shape="box"];1257[label="absReal1 (Integer (Pos (Succ vuz102000))) (not (primCmpInt (Pos (Succ vuz102000)) (Pos Zero) == LT))",fontsize=16,color="black",shape="box"];1257 -> 1276[label="",style="solid", color="black", weight=3]; 1258[label="absReal1 (Integer (Pos Zero)) (not (primCmpInt (Pos Zero) (Pos Zero) == LT))",fontsize=16,color="black",shape="box"];1258 -> 1277[label="",style="solid", color="black", weight=3]; 1259[label="absReal1 (Integer (Neg (Succ vuz102000))) (not (primCmpInt (Neg (Succ vuz102000)) (Pos Zero) == LT))",fontsize=16,color="black",shape="box"];1259 -> 1278[label="",style="solid", color="black", weight=3]; 1260[label="absReal1 (Integer (Neg Zero)) (not (primCmpInt (Neg Zero) (Pos Zero) == LT))",fontsize=16,color="black",shape="box"];1260 -> 1279[label="",style="solid", color="black", weight=3]; 1261[label="Integer (primRemInt vuz990 vuz970)",fontsize=16,color="green",shape="box"];1261 -> 1280[label="",style="dashed", color="green", weight=3]; 1262 -> 1144[label="",style="dashed", color="red", weight=0]; 1262[label="gcd0Gcd' vuz109 (vuz97 `rem` vuz109)",fontsize=16,color="magenta"];1262 -> 1281[label="",style="dashed", color="magenta", weight=3]; 1262 -> 1282[label="",style="dashed", color="magenta", weight=3]; 1268[label="vuz99000",fontsize=16,color="green",shape="box"];1269[label="vuz490",fontsize=16,color="green",shape="box"];1270[label="vuz99000",fontsize=16,color="green",shape="box"];1271[label="vuz490",fontsize=16,color="green",shape="box"];1272[label="vuz99000",fontsize=16,color="green",shape="box"];1273[label="vuz490",fontsize=16,color="green",shape="box"];1274[label="vuz99000",fontsize=16,color="green",shape="box"];1275[label="vuz490",fontsize=16,color="green",shape="box"];811[label="Neg (Succ vuz3300)",fontsize=16,color="green",shape="box"];812[label="primModNatS0 (Succ vuz75000) vuz7400 (primGEqNatS (Succ vuz75000) vuz7400)",fontsize=16,color="burlywood",shape="box"];1608[label="vuz7400/Succ vuz74000",fontsize=10,color="white",style="solid",shape="box"];812 -> 1608[label="",style="solid", color="burlywood", weight=9]; 1608 -> 843[label="",style="solid", color="burlywood", weight=3]; 1609[label="vuz7400/Zero",fontsize=10,color="white",style="solid",shape="box"];812 -> 1609[label="",style="solid", color="burlywood", weight=9]; 1609 -> 844[label="",style="solid", color="burlywood", weight=3]; 813[label="primModNatS0 Zero vuz7400 (primGEqNatS Zero vuz7400)",fontsize=16,color="burlywood",shape="box"];1610[label="vuz7400/Succ vuz74000",fontsize=10,color="white",style="solid",shape="box"];813 -> 1610[label="",style="solid", color="burlywood", weight=9]; 1610 -> 845[label="",style="solid", color="burlywood", weight=3]; 1611[label="vuz7400/Zero",fontsize=10,color="white",style="solid",shape="box"];813 -> 1611[label="",style="solid", color="burlywood", weight=9]; 1611 -> 846[label="",style="solid", color="burlywood", weight=3]; 1276[label="absReal1 (Integer (Pos (Succ vuz102000))) (not (primCmpNat (Succ vuz102000) Zero == LT))",fontsize=16,color="black",shape="box"];1276 -> 1291[label="",style="solid", color="black", weight=3]; 1277[label="absReal1 (Integer (Pos Zero)) (not (EQ == LT))",fontsize=16,color="black",shape="box"];1277 -> 1292[label="",style="solid", color="black", weight=3]; 1278[label="absReal1 (Integer (Neg (Succ vuz102000))) (not (LT == LT))",fontsize=16,color="black",shape="box"];1278 -> 1293[label="",style="solid", color="black", weight=3]; 1279[label="absReal1 (Integer (Neg Zero)) (not (EQ == LT))",fontsize=16,color="black",shape="box"];1279 -> 1294[label="",style="solid", color="black", weight=3]; 1280 -> 646[label="",style="dashed", color="red", weight=0]; 1280[label="primRemInt vuz990 vuz970",fontsize=16,color="magenta"];1280 -> 1295[label="",style="dashed", color="magenta", weight=3]; 1280 -> 1296[label="",style="dashed", color="magenta", weight=3]; 1281[label="vuz109",fontsize=16,color="green",shape="box"];1282[label="vuz97",fontsize=16,color="green",shape="box"];843[label="primModNatS0 (Succ vuz75000) (Succ vuz74000) (primGEqNatS (Succ vuz75000) (Succ vuz74000))",fontsize=16,color="black",shape="box"];843 -> 854[label="",style="solid", color="black", weight=3]; 844[label="primModNatS0 (Succ vuz75000) Zero (primGEqNatS (Succ vuz75000) Zero)",fontsize=16,color="black",shape="box"];844 -> 855[label="",style="solid", color="black", weight=3]; 845[label="primModNatS0 Zero (Succ vuz74000) (primGEqNatS Zero (Succ vuz74000))",fontsize=16,color="black",shape="box"];845 -> 856[label="",style="solid", color="black", weight=3]; 846[label="primModNatS0 Zero Zero (primGEqNatS Zero Zero)",fontsize=16,color="black",shape="box"];846 -> 857[label="",style="solid", color="black", weight=3]; 1291[label="absReal1 (Integer (Pos (Succ vuz102000))) (not (GT == LT))",fontsize=16,color="black",shape="box"];1291 -> 1305[label="",style="solid", color="black", weight=3]; 1292[label="absReal1 (Integer (Pos Zero)) (not False)",fontsize=16,color="black",shape="box"];1292 -> 1306[label="",style="solid", color="black", weight=3]; 1293[label="absReal1 (Integer (Neg (Succ vuz102000))) (not True)",fontsize=16,color="black",shape="box"];1293 -> 1307[label="",style="solid", color="black", weight=3]; 1294[label="absReal1 (Integer (Neg Zero)) (not False)",fontsize=16,color="black",shape="box"];1294 -> 1308[label="",style="solid", color="black", weight=3]; 1295[label="vuz970",fontsize=16,color="green",shape="box"];1296[label="vuz990",fontsize=16,color="green",shape="box"];854 -> 1370[label="",style="dashed", color="red", weight=0]; 854[label="primModNatS0 (Succ vuz75000) (Succ vuz74000) (primGEqNatS vuz75000 vuz74000)",fontsize=16,color="magenta"];854 -> 1371[label="",style="dashed", color="magenta", weight=3]; 854 -> 1372[label="",style="dashed", color="magenta", weight=3]; 854 -> 1373[label="",style="dashed", color="magenta", weight=3]; 854 -> 1374[label="",style="dashed", color="magenta", weight=3]; 855[label="primModNatS0 (Succ vuz75000) Zero True",fontsize=16,color="black",shape="box"];855 -> 868[label="",style="solid", color="black", weight=3]; 856[label="primModNatS0 Zero (Succ vuz74000) False",fontsize=16,color="black",shape="box"];856 -> 869[label="",style="solid", color="black", weight=3]; 857[label="primModNatS0 Zero Zero True",fontsize=16,color="black",shape="box"];857 -> 870[label="",style="solid", color="black", weight=3]; 1305[label="absReal1 (Integer (Pos (Succ vuz102000))) (not False)",fontsize=16,color="black",shape="box"];1305 -> 1313[label="",style="solid", color="black", weight=3]; 1306[label="absReal1 (Integer (Pos Zero)) True",fontsize=16,color="black",shape="box"];1306 -> 1314[label="",style="solid", color="black", weight=3]; 1307[label="absReal1 (Integer (Neg (Succ vuz102000))) False",fontsize=16,color="black",shape="box"];1307 -> 1315[label="",style="solid", color="black", weight=3]; 1308[label="absReal1 (Integer (Neg Zero)) True",fontsize=16,color="black",shape="box"];1308 -> 1316[label="",style="solid", color="black", weight=3]; 1371[label="vuz74000",fontsize=16,color="green",shape="box"];1372[label="vuz74000",fontsize=16,color="green",shape="box"];1373[label="vuz75000",fontsize=16,color="green",shape="box"];1374[label="vuz75000",fontsize=16,color="green",shape="box"];1370[label="primModNatS0 (Succ vuz126) (Succ vuz127) (primGEqNatS vuz128 vuz129)",fontsize=16,color="burlywood",shape="triangle"];1612[label="vuz128/Succ vuz1280",fontsize=10,color="white",style="solid",shape="box"];1370 -> 1612[label="",style="solid", color="burlywood", weight=9]; 1612 -> 1403[label="",style="solid", color="burlywood", weight=3]; 1613[label="vuz128/Zero",fontsize=10,color="white",style="solid",shape="box"];1370 -> 1613[label="",style="solid", color="burlywood", weight=9]; 1613 -> 1404[label="",style="solid", color="burlywood", weight=3]; 868 -> 757[label="",style="dashed", color="red", weight=0]; 868[label="primModNatS (primMinusNatS (Succ vuz75000) Zero) (Succ Zero)",fontsize=16,color="magenta"];868 -> 888[label="",style="dashed", color="magenta", weight=3]; 868 -> 889[label="",style="dashed", color="magenta", weight=3]; 869[label="Succ Zero",fontsize=16,color="green",shape="box"];870 -> 757[label="",style="dashed", color="red", weight=0]; 870[label="primModNatS (primMinusNatS Zero Zero) (Succ Zero)",fontsize=16,color="magenta"];870 -> 890[label="",style="dashed", color="magenta", weight=3]; 870 -> 891[label="",style="dashed", color="magenta", weight=3]; 1313[label="absReal1 (Integer (Pos (Succ vuz102000))) True",fontsize=16,color="black",shape="box"];1313 -> 1320[label="",style="solid", color="black", weight=3]; 1314[label="Integer (Pos Zero)",fontsize=16,color="green",shape="box"];1315[label="absReal0 (Integer (Neg (Succ vuz102000))) otherwise",fontsize=16,color="black",shape="box"];1315 -> 1321[label="",style="solid", color="black", weight=3]; 1316[label="Integer (Neg Zero)",fontsize=16,color="green",shape="box"];1403[label="primModNatS0 (Succ vuz126) (Succ vuz127) (primGEqNatS (Succ vuz1280) vuz129)",fontsize=16,color="burlywood",shape="box"];1614[label="vuz129/Succ vuz1290",fontsize=10,color="white",style="solid",shape="box"];1403 -> 1614[label="",style="solid", color="burlywood", weight=9]; 1614 -> 1405[label="",style="solid", color="burlywood", weight=3]; 1615[label="vuz129/Zero",fontsize=10,color="white",style="solid",shape="box"];1403 -> 1615[label="",style="solid", color="burlywood", weight=9]; 1615 -> 1406[label="",style="solid", color="burlywood", weight=3]; 1404[label="primModNatS0 (Succ vuz126) (Succ vuz127) (primGEqNatS Zero vuz129)",fontsize=16,color="burlywood",shape="box"];1616[label="vuz129/Succ vuz1290",fontsize=10,color="white",style="solid",shape="box"];1404 -> 1616[label="",style="solid", color="burlywood", weight=9]; 1616 -> 1407[label="",style="solid", color="burlywood", weight=3]; 1617[label="vuz129/Zero",fontsize=10,color="white",style="solid",shape="box"];1404 -> 1617[label="",style="solid", color="burlywood", weight=9]; 1617 -> 1408[label="",style="solid", color="burlywood", weight=3]; 888[label="Zero",fontsize=16,color="green",shape="box"];889 -> 883[label="",style="dashed", color="red", weight=0]; 889[label="primMinusNatS (Succ vuz75000) Zero",fontsize=16,color="magenta"];889 -> 905[label="",style="dashed", color="magenta", weight=3]; 889 -> 906[label="",style="dashed", color="magenta", weight=3]; 890[label="Zero",fontsize=16,color="green",shape="box"];891 -> 883[label="",style="dashed", color="red", weight=0]; 891[label="primMinusNatS Zero Zero",fontsize=16,color="magenta"];891 -> 907[label="",style="dashed", color="magenta", weight=3]; 891 -> 908[label="",style="dashed", color="magenta", weight=3]; 1320[label="Integer (Pos (Succ vuz102000))",fontsize=16,color="green",shape="box"];1321[label="absReal0 (Integer (Neg (Succ vuz102000))) True",fontsize=16,color="black",shape="box"];1321 -> 1325[label="",style="solid", color="black", weight=3]; 1405[label="primModNatS0 (Succ vuz126) (Succ vuz127) (primGEqNatS (Succ vuz1280) (Succ vuz1290))",fontsize=16,color="black",shape="box"];1405 -> 1409[label="",style="solid", color="black", weight=3]; 1406[label="primModNatS0 (Succ vuz126) (Succ vuz127) (primGEqNatS (Succ vuz1280) Zero)",fontsize=16,color="black",shape="box"];1406 -> 1410[label="",style="solid", color="black", weight=3]; 1407[label="primModNatS0 (Succ vuz126) (Succ vuz127) (primGEqNatS Zero (Succ vuz1290))",fontsize=16,color="black",shape="box"];1407 -> 1411[label="",style="solid", color="black", weight=3]; 1408[label="primModNatS0 (Succ vuz126) (Succ vuz127) (primGEqNatS Zero Zero)",fontsize=16,color="black",shape="box"];1408 -> 1412[label="",style="solid", color="black", weight=3]; 905[label="Succ vuz75000",fontsize=16,color="green",shape="box"];906[label="Zero",fontsize=16,color="green",shape="box"];907[label="Zero",fontsize=16,color="green",shape="box"];908[label="Zero",fontsize=16,color="green",shape="box"];1325 -> 66[label="",style="dashed", color="red", weight=0]; 1325[label="`negate` Integer (Neg (Succ vuz102000))",fontsize=16,color="magenta"];1325 -> 1328[label="",style="dashed", color="magenta", weight=3]; 1409 -> 1370[label="",style="dashed", color="red", weight=0]; 1409[label="primModNatS0 (Succ vuz126) (Succ vuz127) (primGEqNatS vuz1280 vuz1290)",fontsize=16,color="magenta"];1409 -> 1413[label="",style="dashed", color="magenta", weight=3]; 1409 -> 1414[label="",style="dashed", color="magenta", weight=3]; 1410[label="primModNatS0 (Succ vuz126) (Succ vuz127) True",fontsize=16,color="black",shape="triangle"];1410 -> 1415[label="",style="solid", color="black", weight=3]; 1411[label="primModNatS0 (Succ vuz126) (Succ vuz127) False",fontsize=16,color="black",shape="box"];1411 -> 1416[label="",style="solid", color="black", weight=3]; 1412 -> 1410[label="",style="dashed", color="red", weight=0]; 1412[label="primModNatS0 (Succ vuz126) (Succ vuz127) True",fontsize=16,color="magenta"];1328[label="Integer (Neg (Succ vuz102000))",fontsize=16,color="green",shape="box"];1413[label="vuz1290",fontsize=16,color="green",shape="box"];1414[label="vuz1280",fontsize=16,color="green",shape="box"];1415 -> 757[label="",style="dashed", color="red", weight=0]; 1415[label="primModNatS (primMinusNatS (Succ vuz126) (Succ vuz127)) (Succ (Succ vuz127))",fontsize=16,color="magenta"];1415 -> 1417[label="",style="dashed", color="magenta", weight=3]; 1415 -> 1418[label="",style="dashed", color="magenta", weight=3]; 1416[label="Succ (Succ vuz126)",fontsize=16,color="green",shape="box"];1417[label="Succ vuz127",fontsize=16,color="green",shape="box"];1418 -> 883[label="",style="dashed", color="red", weight=0]; 1418[label="primMinusNatS (Succ vuz126) (Succ vuz127)",fontsize=16,color="magenta"];1418 -> 1419[label="",style="dashed", color="magenta", weight=3]; 1418 -> 1420[label="",style="dashed", color="magenta", weight=3]; 1419[label="Succ vuz126",fontsize=16,color="green",shape="box"];1420[label="Succ vuz127",fontsize=16,color="green",shape="box"];} ---------------------------------------- (12) Complex Obligation (AND) ---------------------------------------- (13) Obligation: Q DP problem: The TRS P consists of the following rules: new_primDivNatS(Succ(Succ(vuz32000)), Succ(vuz65000)) -> new_primDivNatS0(vuz32000, vuz65000, vuz32000, vuz65000) new_primDivNatS0(vuz104, vuz105, Zero, Zero) -> new_primDivNatS00(vuz104, vuz105) new_primDivNatS0(vuz104, vuz105, Succ(vuz1060), Zero) -> new_primDivNatS(new_primMinusNatS0(Succ(vuz104), Succ(vuz105)), Succ(vuz105)) new_primDivNatS0(vuz104, vuz105, Succ(vuz1060), Succ(vuz1070)) -> new_primDivNatS0(vuz104, vuz105, vuz1060, vuz1070) new_primDivNatS(Succ(Zero), Zero) -> new_primDivNatS(new_primMinusNatS2, Zero) new_primDivNatS(Succ(Succ(vuz32000)), Zero) -> new_primDivNatS(new_primMinusNatS1(vuz32000), Zero) new_primDivNatS00(vuz104, vuz105) -> new_primDivNatS(new_primMinusNatS0(Succ(vuz104), Succ(vuz105)), Succ(vuz105)) The TRS R consists of the following rules: new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS1(vuz32000) -> Succ(vuz32000) new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) new_primMinusNatS2 -> Zero new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) The set Q consists of the following terms: new_primMinusNatS0(Zero, Succ(x0)) new_primMinusNatS0(Zero, Zero) new_primMinusNatS2 new_primMinusNatS1(x0) new_primMinusNatS0(Succ(x0), Zero) new_primMinusNatS0(Succ(x0), Succ(x1)) 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_primDivNatS(Succ(Succ(vuz32000)), Zero) -> new_primDivNatS(new_primMinusNatS1(vuz32000), Zero) The TRS R consists of the following rules: new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS1(vuz32000) -> Succ(vuz32000) new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) new_primMinusNatS2 -> Zero new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) The set Q consists of the following terms: new_primMinusNatS0(Zero, Succ(x0)) new_primMinusNatS0(Zero, Zero) new_primMinusNatS2 new_primMinusNatS1(x0) new_primMinusNatS0(Succ(x0), Zero) new_primMinusNatS0(Succ(x0), Succ(x1)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (17) 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(vuz32000)), Zero) -> new_primDivNatS(new_primMinusNatS1(vuz32000), Zero) Strictly oriented rules of the TRS R: new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS1(vuz32000) -> Succ(vuz32000) new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) new_primMinusNatS2 -> Zero new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) Used ordering: Polynomial interpretation [POLO]: POL(Succ(x_1)) = 1 + 2*x_1 POL(Zero) = 1 POL(new_primDivNatS(x_1, x_2)) = x_1 + x_2 POL(new_primMinusNatS0(x_1, x_2)) = x_1 + x_2 POL(new_primMinusNatS1(x_1)) = 2 + 2*x_1 POL(new_primMinusNatS2) = 2 ---------------------------------------- (18) Obligation: Q DP problem: P is empty. R is empty. The set Q consists of the following terms: new_primMinusNatS0(Zero, Succ(x0)) new_primMinusNatS0(Zero, Zero) new_primMinusNatS2 new_primMinusNatS1(x0) new_primMinusNatS0(Succ(x0), Zero) new_primMinusNatS0(Succ(x0), Succ(x1)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (19) PisEmptyProof (EQUIVALENT) The TRS P is empty. Hence, there is no (P,Q,R) chain. ---------------------------------------- (20) YES ---------------------------------------- (21) Obligation: Q DP problem: The TRS P consists of the following rules: new_primDivNatS0(vuz104, vuz105, Zero, Zero) -> new_primDivNatS00(vuz104, vuz105) new_primDivNatS00(vuz104, vuz105) -> new_primDivNatS(new_primMinusNatS0(Succ(vuz104), Succ(vuz105)), Succ(vuz105)) new_primDivNatS(Succ(Succ(vuz32000)), Succ(vuz65000)) -> new_primDivNatS0(vuz32000, vuz65000, vuz32000, vuz65000) new_primDivNatS0(vuz104, vuz105, Succ(vuz1060), Zero) -> new_primDivNatS(new_primMinusNatS0(Succ(vuz104), Succ(vuz105)), Succ(vuz105)) new_primDivNatS0(vuz104, vuz105, Succ(vuz1060), Succ(vuz1070)) -> new_primDivNatS0(vuz104, vuz105, vuz1060, vuz1070) The TRS R consists of the following rules: new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS1(vuz32000) -> Succ(vuz32000) new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) new_primMinusNatS2 -> Zero new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) The set Q consists of the following terms: new_primMinusNatS0(Zero, Succ(x0)) new_primMinusNatS0(Zero, Zero) new_primMinusNatS2 new_primMinusNatS1(x0) new_primMinusNatS0(Succ(x0), Zero) new_primMinusNatS0(Succ(x0), Succ(x1)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (22) QDPOrderProof (EQUIVALENT) We use the reduction pair processor [LPAR04,JAR06]. The following pairs can be oriented strictly and are deleted. new_primDivNatS(Succ(Succ(vuz32000)), Succ(vuz65000)) -> new_primDivNatS0(vuz32000, vuz65000, vuz32000, vuz65000) 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_primDivNatS(x_1, x_2)) = x_1 POL(new_primDivNatS0(x_1, x_2, x_3, x_4)) = 1 + x_1 POL(new_primDivNatS00(x_1, x_2)) = 1 + x_1 POL(new_primMinusNatS0(x_1, x_2)) = x_1 The following usable rules [FROCOS05] with respect to the argument filtering of the ordering [JAR06] were oriented: new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) ---------------------------------------- (23) Obligation: Q DP problem: The TRS P consists of the following rules: new_primDivNatS0(vuz104, vuz105, Zero, Zero) -> new_primDivNatS00(vuz104, vuz105) new_primDivNatS00(vuz104, vuz105) -> new_primDivNatS(new_primMinusNatS0(Succ(vuz104), Succ(vuz105)), Succ(vuz105)) new_primDivNatS0(vuz104, vuz105, Succ(vuz1060), Zero) -> new_primDivNatS(new_primMinusNatS0(Succ(vuz104), Succ(vuz105)), Succ(vuz105)) new_primDivNatS0(vuz104, vuz105, Succ(vuz1060), Succ(vuz1070)) -> new_primDivNatS0(vuz104, vuz105, vuz1060, vuz1070) The TRS R consists of the following rules: new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS1(vuz32000) -> Succ(vuz32000) new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) new_primMinusNatS2 -> Zero new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) The set Q consists of the following terms: new_primMinusNatS0(Zero, Succ(x0)) new_primMinusNatS0(Zero, Zero) new_primMinusNatS2 new_primMinusNatS1(x0) new_primMinusNatS0(Succ(x0), Zero) new_primMinusNatS0(Succ(x0), Succ(x1)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (24) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 3 less nodes. ---------------------------------------- (25) Obligation: Q DP problem: The TRS P consists of the following rules: new_primDivNatS0(vuz104, vuz105, Succ(vuz1060), Succ(vuz1070)) -> new_primDivNatS0(vuz104, vuz105, vuz1060, vuz1070) The TRS R consists of the following rules: new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS1(vuz32000) -> Succ(vuz32000) new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) new_primMinusNatS2 -> Zero new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) The set Q consists of the following terms: new_primMinusNatS0(Zero, Succ(x0)) new_primMinusNatS0(Zero, Zero) new_primMinusNatS2 new_primMinusNatS1(x0) new_primMinusNatS0(Succ(x0), Zero) new_primMinusNatS0(Succ(x0), Succ(x1)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (26) 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_primDivNatS0(vuz104, vuz105, Succ(vuz1060), Succ(vuz1070)) -> new_primDivNatS0(vuz104, vuz105, vuz1060, vuz1070) The graph contains the following edges 1 >= 1, 2 >= 2, 3 > 3, 4 > 4 ---------------------------------------- (27) YES ---------------------------------------- (28) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(vuz75, vuz74) -> new_gcd0Gcd'1(new_esEs(new_rem(vuz75, vuz74)), vuz74, vuz75) new_gcd0Gcd'1(False, vuz74, vuz75) -> new_gcd0Gcd'0(vuz74, new_rem(vuz75, vuz74)) The TRS R consists of the following rules: new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error new_esEs(Pos(Succ(vuz2500))) -> False new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_primModNatS1(Zero, vuz7400) -> Zero new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error new_esEs(Pos(Zero)) -> True new_error -> error([]) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) new_esEs(Neg(Succ(vuz2500))) -> False new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error new_rem(vuz75, vuz74) -> new_primRemInt(vuz75, vuz74) new_esEs(Neg(Zero)) -> True The set Q consists of the following terms: new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_rem(x0, x1) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_esEs(Pos(Succ(x0))) new_primModNatS01(x0, x1, Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_esEs(Neg(Succ(x0))) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primMinusNatS0(Zero, Zero) new_primModNatS02(x0, x1) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (29) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'0(vuz75, vuz74) -> new_gcd0Gcd'1(new_esEs(new_rem(vuz75, vuz74)), vuz74, vuz75) at position [0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'0(vuz75, vuz74) -> new_gcd0Gcd'1(new_esEs(new_primRemInt(vuz75, vuz74)), vuz74, vuz75),new_gcd0Gcd'0(vuz75, vuz74) -> new_gcd0Gcd'1(new_esEs(new_primRemInt(vuz75, vuz74)), vuz74, vuz75)) ---------------------------------------- (30) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, vuz74, vuz75) -> new_gcd0Gcd'0(vuz74, new_rem(vuz75, vuz74)) new_gcd0Gcd'0(vuz75, vuz74) -> new_gcd0Gcd'1(new_esEs(new_primRemInt(vuz75, vuz74)), vuz74, vuz75) The TRS R consists of the following rules: new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error new_esEs(Pos(Succ(vuz2500))) -> False new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_primModNatS1(Zero, vuz7400) -> Zero new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error new_esEs(Pos(Zero)) -> True new_error -> error([]) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) new_esEs(Neg(Succ(vuz2500))) -> False new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error new_rem(vuz75, vuz74) -> new_primRemInt(vuz75, vuz74) new_esEs(Neg(Zero)) -> True The set Q consists of the following terms: new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_rem(x0, x1) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_esEs(Pos(Succ(x0))) new_primModNatS01(x0, x1, Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_esEs(Neg(Succ(x0))) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primMinusNatS0(Zero, Zero) new_primModNatS02(x0, x1) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (31) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, vuz74, vuz75) -> new_gcd0Gcd'0(vuz74, new_rem(vuz75, vuz74)) at position [1] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'1(False, vuz74, vuz75) -> new_gcd0Gcd'0(vuz74, new_primRemInt(vuz75, vuz74)),new_gcd0Gcd'1(False, vuz74, vuz75) -> new_gcd0Gcd'0(vuz74, new_primRemInt(vuz75, vuz74))) ---------------------------------------- (32) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(vuz75, vuz74) -> new_gcd0Gcd'1(new_esEs(new_primRemInt(vuz75, vuz74)), vuz74, vuz75) new_gcd0Gcd'1(False, vuz74, vuz75) -> new_gcd0Gcd'0(vuz74, new_primRemInt(vuz75, vuz74)) The TRS R consists of the following rules: new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error new_esEs(Pos(Succ(vuz2500))) -> False new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_primModNatS1(Zero, vuz7400) -> Zero new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error new_esEs(Pos(Zero)) -> True new_error -> error([]) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) new_esEs(Neg(Succ(vuz2500))) -> False new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error new_rem(vuz75, vuz74) -> new_primRemInt(vuz75, vuz74) new_esEs(Neg(Zero)) -> True The set Q consists of the following terms: new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_rem(x0, x1) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_esEs(Pos(Succ(x0))) new_primModNatS01(x0, x1, Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_esEs(Neg(Succ(x0))) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primMinusNatS0(Zero, Zero) new_primModNatS02(x0, x1) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (33) 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. ---------------------------------------- (34) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(vuz75, vuz74) -> new_gcd0Gcd'1(new_esEs(new_primRemInt(vuz75, vuz74)), vuz74, vuz75) new_gcd0Gcd'1(False, vuz74, vuz75) -> new_gcd0Gcd'0(vuz74, new_primRemInt(vuz75, vuz74)) The TRS R consists of the following rules: new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error new_error -> error([]) new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primModNatS1(Zero, vuz7400) -> Zero new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_esEs(Pos(Succ(vuz2500))) -> False new_esEs(Pos(Zero)) -> True new_esEs(Neg(Succ(vuz2500))) -> False new_esEs(Neg(Zero)) -> True The set Q consists of the following terms: new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_rem(x0, x1) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_esEs(Pos(Succ(x0))) new_primModNatS01(x0, x1, Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_esEs(Neg(Succ(x0))) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primMinusNatS0(Zero, Zero) new_primModNatS02(x0, x1) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (35) 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) ---------------------------------------- (36) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(vuz75, vuz74) -> new_gcd0Gcd'1(new_esEs(new_primRemInt(vuz75, vuz74)), vuz74, vuz75) new_gcd0Gcd'1(False, vuz74, vuz75) -> new_gcd0Gcd'0(vuz74, new_primRemInt(vuz75, vuz74)) The TRS R consists of the following rules: new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error new_error -> error([]) new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primModNatS1(Zero, vuz7400) -> Zero new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_esEs(Pos(Succ(vuz2500))) -> False new_esEs(Pos(Zero)) -> True new_esEs(Neg(Succ(vuz2500))) -> False new_esEs(Neg(Zero)) -> True The set Q consists of the following terms: new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_esEs(Pos(Succ(x0))) new_primModNatS01(x0, x1, Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_esEs(Neg(Succ(x0))) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primMinusNatS0(Zero, Zero) new_primModNatS02(x0, x1) new_primModNatS1(Zero, x0) new_esEs(Neg(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_gcd0Gcd'0(vuz75, vuz74) -> new_gcd0Gcd'1(new_esEs(new_primRemInt(vuz75, vuz74)), vuz74, vuz75) new_gcd0Gcd'1(False, vuz74, vuz75) -> new_gcd0Gcd'0(vuz74, new_primRemInt(vuz75, vuz74)) The TRS R consists of the following rules: new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error new_error -> error([]) new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primModNatS1(Zero, vuz7400) -> Zero new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_esEs(Pos(Succ(vuz2500))) -> False new_esEs(Pos(Zero)) -> True new_esEs(Neg(Succ(vuz2500))) -> False new_esEs(Neg(Zero)) -> True 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_gcd0Gcd'0(vuz75, vuz74) -> new_gcd0Gcd'1(new_esEs(new_primRemInt(vuz75, vuz74)), vuz74, vuz75) 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_primMinusNatS0(Succ(x29), Zero), 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))))) (17) (new_primModNatS1(new_primMinusNatS0(Zero, Zero), 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)))) (18) (new_primModNatS01(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(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 (17) using rules (III), (IV), (VII) which results in the following new constraint: (21) (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 (18) using rules (III), (IV), (VII) which results in the following new constraint: (22) (new_gcd0Gcd'0(Pos(Succ(Succ(x40))), Neg(Succ(Succ(x41))))_>=_new_gcd0Gcd'1(new_esEs(new_primRemInt(Pos(Succ(Succ(x40))), Neg(Succ(Succ(x41))))), Neg(Succ(Succ(x41))), Pos(Succ(Succ(x40))))) 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(x42))))_>=_new_gcd0Gcd'1(new_esEs(new_primRemInt(Pos(Succ(Zero)), Pos(Succ(Succ(x42))))), Pos(Succ(Succ(x42))), Pos(Succ(Zero)))) (24) (new_primModNatS1(new_primMinusNatS0(Succ(x44), Zero), Zero)=Succ(x13) ==> new_gcd0Gcd'0(Pos(Succ(Succ(x44))), Pos(Succ(Zero)))_>=_new_gcd0Gcd'1(new_esEs(new_primRemInt(Pos(Succ(Succ(x44))), Pos(Succ(Zero)))), Pos(Succ(Zero)), Pos(Succ(Succ(x44))))) (25) (new_primModNatS1(new_primMinusNatS0(Zero, Zero), 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)))) (26) (new_primModNatS01(x46, x45, x46, x45)=Succ(x13) ==> new_gcd0Gcd'0(Pos(Succ(Succ(x46))), Pos(Succ(Succ(x45))))_>=_new_gcd0Gcd'1(new_esEs(new_primRemInt(Pos(Succ(Succ(x46))), Pos(Succ(Succ(x45))))), Pos(Succ(Succ(x45))), Pos(Succ(Succ(x46))))) 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(x42))))_>=_new_gcd0Gcd'1(new_esEs(new_primRemInt(Pos(Succ(Zero)), Pos(Succ(Succ(x42))))), Pos(Succ(Succ(x42))), 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(Succ(x44))), Pos(Succ(Zero)))_>=_new_gcd0Gcd'1(new_esEs(new_primRemInt(Pos(Succ(Succ(x44))), Pos(Succ(Zero)))), Pos(Succ(Zero)), Pos(Succ(Succ(x44))))) We simplified constraint (25) using rules (III), (IV), (VII) which results in the following new constraint: (29) (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 (26) using rules (III), (IV), (VII) which results in the following new constraint: (30) (new_gcd0Gcd'0(Pos(Succ(Succ(x55))), Pos(Succ(Succ(x56))))_>=_new_gcd0Gcd'1(new_esEs(new_primRemInt(Pos(Succ(Succ(x55))), Pos(Succ(Succ(x56))))), Pos(Succ(Succ(x56))), Pos(Succ(Succ(x55))))) 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(x61), Neg(Zero))_>=_new_gcd0Gcd'1(new_esEs(new_primRemInt(Neg(x61), Neg(Zero))), Neg(Zero), Neg(x61))) (32) (Neg(new_primModNatS1(x63, x62))=Neg(Succ(x14)) ==> new_gcd0Gcd'0(Neg(x63), Pos(Succ(x62)))_>=_new_gcd0Gcd'1(new_esEs(new_primRemInt(Neg(x63), Pos(Succ(x62)))), Pos(Succ(x62)), Neg(x63))) (33) (new_error=Neg(Succ(x14)) ==> new_gcd0Gcd'0(Pos(x64), Pos(Zero))_>=_new_gcd0Gcd'1(new_esEs(new_primRemInt(Pos(x64), Pos(Zero))), Pos(Zero), Pos(x64))) (34) (Neg(new_primModNatS1(x66, x65))=Neg(Succ(x14)) ==> new_gcd0Gcd'0(Neg(x66), Neg(Succ(x65)))_>=_new_gcd0Gcd'1(new_esEs(new_primRemInt(Neg(x66), Neg(Succ(x65)))), Neg(Succ(x65)), Neg(x66))) (35) (new_error=Neg(Succ(x14)) ==> new_gcd0Gcd'0(Pos(x67), Neg(Zero))_>=_new_gcd0Gcd'1(new_esEs(new_primRemInt(Pos(x67), Neg(Zero))), Neg(Zero), Pos(x67))) (36) (new_error=Neg(Succ(x14)) ==> new_gcd0Gcd'0(Neg(x68), Pos(Zero))_>=_new_gcd0Gcd'1(new_esEs(new_primRemInt(Neg(x68), Pos(Zero))), Pos(Zero), Neg(x68))) 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(x63, x62)=Succ(x14) ==> new_gcd0Gcd'0(Neg(x63), Pos(Succ(x62)))_>=_new_gcd0Gcd'1(new_esEs(new_primRemInt(Neg(x63), Pos(Succ(x62)))), Pos(Succ(x62)), Neg(x63))) 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(x66, x65)=Succ(x14) ==> new_gcd0Gcd'0(Neg(x66), Neg(Succ(x65)))_>=_new_gcd0Gcd'1(new_esEs(new_primRemInt(Neg(x66), Neg(Succ(x65)))), Neg(Succ(x65)), Neg(x66))) 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(x63, x62)=Succ(x14) which results in the following new constraints: (39) (Succ(Zero)=Succ(x14) ==> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(Succ(Succ(x69))))_>=_new_gcd0Gcd'1(new_esEs(new_primRemInt(Neg(Succ(Zero)), Pos(Succ(Succ(x69))))), Pos(Succ(Succ(x69))), Neg(Succ(Zero)))) (40) (new_primModNatS1(new_primMinusNatS0(Succ(x71), Zero), Zero)=Succ(x14) ==> new_gcd0Gcd'0(Neg(Succ(Succ(x71))), Pos(Succ(Zero)))_>=_new_gcd0Gcd'1(new_esEs(new_primRemInt(Neg(Succ(Succ(x71))), Pos(Succ(Zero)))), Pos(Succ(Zero)), Neg(Succ(Succ(x71))))) (41) (new_primModNatS1(new_primMinusNatS0(Zero, Zero), 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)))) (42) (new_primModNatS01(x73, x72, x73, x72)=Succ(x14) ==> new_gcd0Gcd'0(Neg(Succ(Succ(x73))), Pos(Succ(Succ(x72))))_>=_new_gcd0Gcd'1(new_esEs(new_primRemInt(Neg(Succ(Succ(x73))), Pos(Succ(Succ(x72))))), Pos(Succ(Succ(x72))), Neg(Succ(Succ(x73))))) 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(x69))))_>=_new_gcd0Gcd'1(new_esEs(new_primRemInt(Neg(Succ(Zero)), Pos(Succ(Succ(x69))))), Pos(Succ(Succ(x69))), 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(Succ(x71))), Pos(Succ(Zero)))_>=_new_gcd0Gcd'1(new_esEs(new_primRemInt(Neg(Succ(Succ(x71))), Pos(Succ(Zero)))), Pos(Succ(Zero)), Neg(Succ(Succ(x71))))) We simplified constraint (41) using rules (III), (IV), (VII) which results in the following new constraint: (45) (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 (42) using rules (III), (IV), (VII) which results in the following new constraint: (46) (new_gcd0Gcd'0(Neg(Succ(Succ(x82))), Pos(Succ(Succ(x83))))_>=_new_gcd0Gcd'1(new_esEs(new_primRemInt(Neg(Succ(Succ(x82))), Pos(Succ(Succ(x83))))), Pos(Succ(Succ(x83))), Neg(Succ(Succ(x82))))) We simplified constraint (38) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS1(x66, x65)=Succ(x14) which results in the following new constraints: (47) (Succ(Zero)=Succ(x14) ==> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(Succ(Succ(x84))))_>=_new_gcd0Gcd'1(new_esEs(new_primRemInt(Neg(Succ(Zero)), Neg(Succ(Succ(x84))))), Neg(Succ(Succ(x84))), Neg(Succ(Zero)))) (48) (new_primModNatS1(new_primMinusNatS0(Succ(x86), Zero), Zero)=Succ(x14) ==> new_gcd0Gcd'0(Neg(Succ(Succ(x86))), Neg(Succ(Zero)))_>=_new_gcd0Gcd'1(new_esEs(new_primRemInt(Neg(Succ(Succ(x86))), Neg(Succ(Zero)))), Neg(Succ(Zero)), Neg(Succ(Succ(x86))))) (49) (new_primModNatS1(new_primMinusNatS0(Zero, Zero), 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)))) (50) (new_primModNatS01(x88, x87, x88, x87)=Succ(x14) ==> new_gcd0Gcd'0(Neg(Succ(Succ(x88))), Neg(Succ(Succ(x87))))_>=_new_gcd0Gcd'1(new_esEs(new_primRemInt(Neg(Succ(Succ(x88))), Neg(Succ(Succ(x87))))), Neg(Succ(Succ(x87))), Neg(Succ(Succ(x88))))) 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(x84))))_>=_new_gcd0Gcd'1(new_esEs(new_primRemInt(Neg(Succ(Zero)), Neg(Succ(Succ(x84))))), Neg(Succ(Succ(x84))), 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(Succ(x86))), Neg(Succ(Zero)))_>=_new_gcd0Gcd'1(new_esEs(new_primRemInt(Neg(Succ(Succ(x86))), Neg(Succ(Zero)))), Neg(Succ(Zero)), Neg(Succ(Succ(x86))))) We simplified constraint (49) using rules (III), (IV), (VII) which results in the following new constraint: (53) (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 (50) using rules (III), (IV), (VII) which results in the following new constraint: (54) (new_gcd0Gcd'0(Neg(Succ(Succ(x97))), Neg(Succ(Succ(x98))))_>=_new_gcd0Gcd'1(new_esEs(new_primRemInt(Neg(Succ(Succ(x97))), Neg(Succ(Succ(x98))))), Neg(Succ(Succ(x98))), Neg(Succ(Succ(x97))))) For Pair new_gcd0Gcd'1(False, vuz74, vuz75) -> new_gcd0Gcd'0(vuz74, new_primRemInt(vuz75, vuz74)) 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(vuz75, vuz74) -> new_gcd0Gcd'1(new_esEs(new_primRemInt(vuz75, vuz74)), vuz74, vuz75) *(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(x42))))_>=_new_gcd0Gcd'1(new_esEs(new_primRemInt(Pos(Succ(Zero)), Pos(Succ(Succ(x42))))), Pos(Succ(Succ(x42))), Pos(Succ(Zero)))) *(new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(Succ(Succ(x69))))_>=_new_gcd0Gcd'1(new_esEs(new_primRemInt(Neg(Succ(Zero)), Pos(Succ(Succ(x69))))), Pos(Succ(Succ(x69))), Neg(Succ(Zero)))) *(new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(Succ(Succ(x84))))_>=_new_gcd0Gcd'1(new_esEs(new_primRemInt(Neg(Succ(Zero)), Neg(Succ(Succ(x84))))), Neg(Succ(Succ(x84))), Neg(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(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(x40))), Neg(Succ(Succ(x41))))_>=_new_gcd0Gcd'1(new_esEs(new_primRemInt(Pos(Succ(Succ(x40))), Neg(Succ(Succ(x41))))), Neg(Succ(Succ(x41))), Pos(Succ(Succ(x40))))) *(new_gcd0Gcd'0(Pos(Succ(Succ(x44))), Pos(Succ(Zero)))_>=_new_gcd0Gcd'1(new_esEs(new_primRemInt(Pos(Succ(Succ(x44))), Pos(Succ(Zero)))), Pos(Succ(Zero)), Pos(Succ(Succ(x44))))) *(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(x55))), Pos(Succ(Succ(x56))))_>=_new_gcd0Gcd'1(new_esEs(new_primRemInt(Pos(Succ(Succ(x55))), Pos(Succ(Succ(x56))))), Pos(Succ(Succ(x56))), Pos(Succ(Succ(x55))))) *(new_gcd0Gcd'0(Neg(Succ(Succ(x71))), Pos(Succ(Zero)))_>=_new_gcd0Gcd'1(new_esEs(new_primRemInt(Neg(Succ(Succ(x71))), Pos(Succ(Zero)))), Pos(Succ(Zero)), Neg(Succ(Succ(x71))))) *(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(x82))), Pos(Succ(Succ(x83))))_>=_new_gcd0Gcd'1(new_esEs(new_primRemInt(Neg(Succ(Succ(x82))), Pos(Succ(Succ(x83))))), Pos(Succ(Succ(x83))), Neg(Succ(Succ(x82))))) *(new_gcd0Gcd'0(Neg(Succ(Succ(x86))), Neg(Succ(Zero)))_>=_new_gcd0Gcd'1(new_esEs(new_primRemInt(Neg(Succ(Succ(x86))), Neg(Succ(Zero)))), Neg(Succ(Zero)), Neg(Succ(Succ(x86))))) *(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(x97))), Neg(Succ(Succ(x98))))_>=_new_gcd0Gcd'1(new_esEs(new_primRemInt(Neg(Succ(Succ(x97))), Neg(Succ(Succ(x98))))), Neg(Succ(Succ(x98))), Neg(Succ(Succ(x97))))) *new_gcd0Gcd'1(False, vuz74, vuz75) -> new_gcd0Gcd'0(vuz74, new_primRemInt(vuz75, vuz74)) *(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. ---------------------------------------- (40) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(vuz75, vuz74) -> new_gcd0Gcd'1(new_esEs(new_primRemInt(vuz75, vuz74)), vuz74, vuz75) new_gcd0Gcd'1(False, vuz74, vuz75) -> new_gcd0Gcd'0(vuz74, new_primRemInt(vuz75, vuz74)) The TRS R consists of the following rules: new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error new_error -> error([]) new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primModNatS1(Zero, vuz7400) -> Zero new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_esEs(Pos(Succ(vuz2500))) -> False new_esEs(Pos(Zero)) -> True new_esEs(Neg(Succ(vuz2500))) -> False new_esEs(Neg(Zero)) -> True The set Q consists of the following terms: new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_esEs(Pos(Succ(x0))) new_primModNatS01(x0, x1, Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_esEs(Neg(Succ(x0))) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primMinusNatS0(Zero, Zero) new_primModNatS02(x0, x1) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (41) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_gcd0Gcd'0(vuz75, vuz74) -> new_gcd0Gcd'1(new_esEs(new_primRemInt(vuz75, vuz74)), vuz74, vuz75) 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))) ---------------------------------------- (42) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, vuz74, vuz75) -> new_gcd0Gcd'0(vuz74, new_primRemInt(vuz75, vuz74)) 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(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error new_error -> error([]) new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primModNatS1(Zero, vuz7400) -> Zero new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_esEs(Pos(Succ(vuz2500))) -> False new_esEs(Pos(Zero)) -> True new_esEs(Neg(Succ(vuz2500))) -> False new_esEs(Neg(Zero)) -> True The set Q consists of the following terms: new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_esEs(Pos(Succ(x0))) new_primModNatS01(x0, x1, Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_esEs(Neg(Succ(x0))) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primMinusNatS0(Zero, Zero) new_primModNatS02(x0, x1) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (43) 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))) ---------------------------------------- (44) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, vuz74, vuz75) -> new_gcd0Gcd'0(vuz74, new_primRemInt(vuz75, vuz74)) 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(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error new_error -> error([]) new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primModNatS1(Zero, vuz7400) -> Zero new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_esEs(Pos(Succ(vuz2500))) -> False new_esEs(Pos(Zero)) -> True new_esEs(Neg(Succ(vuz2500))) -> False new_esEs(Neg(Zero)) -> True The set Q consists of the following terms: new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_esEs(Pos(Succ(x0))) new_primModNatS01(x0, x1, Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_esEs(Neg(Succ(x0))) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primMinusNatS0(Zero, Zero) new_primModNatS02(x0, x1) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (45) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (46) 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, vuz74, vuz75) -> new_gcd0Gcd'0(vuz74, new_primRemInt(vuz75, vuz74)) 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(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error new_error -> error([]) new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primModNatS1(Zero, vuz7400) -> Zero new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_esEs(Pos(Succ(vuz2500))) -> False new_esEs(Pos(Zero)) -> True new_esEs(Neg(Succ(vuz2500))) -> False new_esEs(Neg(Zero)) -> True The set Q consists of the following terms: new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_esEs(Pos(Succ(x0))) new_primModNatS01(x0, x1, Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_esEs(Neg(Succ(x0))) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primMinusNatS0(Zero, Zero) new_primModNatS02(x0, x1) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (47) 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))) ---------------------------------------- (48) 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, vuz74, vuz75) -> new_gcd0Gcd'0(vuz74, new_primRemInt(vuz75, vuz74)) 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(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error new_error -> error([]) new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primModNatS1(Zero, vuz7400) -> Zero new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_esEs(Pos(Succ(vuz2500))) -> False new_esEs(Pos(Zero)) -> True new_esEs(Neg(Succ(vuz2500))) -> False new_esEs(Neg(Zero)) -> True The set Q consists of the following terms: new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_esEs(Pos(Succ(x0))) new_primModNatS01(x0, x1, Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_esEs(Neg(Succ(x0))) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primMinusNatS0(Zero, Zero) new_primModNatS02(x0, x1) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (49) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (50) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, vuz74, vuz75) -> new_gcd0Gcd'0(vuz74, new_primRemInt(vuz75, vuz74)) 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(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error new_error -> error([]) new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primModNatS1(Zero, vuz7400) -> Zero new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_esEs(Pos(Succ(vuz2500))) -> False new_esEs(Pos(Zero)) -> True new_esEs(Neg(Succ(vuz2500))) -> False new_esEs(Neg(Zero)) -> True The set Q consists of the following terms: new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_esEs(Pos(Succ(x0))) new_primModNatS01(x0, x1, Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_esEs(Neg(Succ(x0))) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primMinusNatS0(Zero, Zero) new_primModNatS02(x0, x1) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (51) 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))) ---------------------------------------- (52) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, vuz74, vuz75) -> new_gcd0Gcd'0(vuz74, new_primRemInt(vuz75, vuz74)) 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(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error new_error -> error([]) new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primModNatS1(Zero, vuz7400) -> Zero new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_esEs(Pos(Succ(vuz2500))) -> False new_esEs(Pos(Zero)) -> True new_esEs(Neg(Succ(vuz2500))) -> False new_esEs(Neg(Zero)) -> True The set Q consists of the following terms: new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_esEs(Pos(Succ(x0))) new_primModNatS01(x0, x1, Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_esEs(Neg(Succ(x0))) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primMinusNatS0(Zero, Zero) new_primModNatS02(x0, x1) new_primModNatS1(Zero, x0) new_esEs(Neg(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_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, vuz74, vuz75) -> new_gcd0Gcd'0(vuz74, new_primRemInt(vuz75, vuz74)) 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(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error new_error -> error([]) new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primModNatS1(Zero, vuz7400) -> Zero new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_esEs(Pos(Succ(vuz2500))) -> False new_esEs(Pos(Zero)) -> True new_esEs(Neg(Succ(vuz2500))) -> False new_esEs(Neg(Zero)) -> True The set Q consists of the following terms: new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_esEs(Pos(Succ(x0))) new_primModNatS01(x0, x1, Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_esEs(Neg(Succ(x0))) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primMinusNatS0(Zero, Zero) new_primModNatS02(x0, x1) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (55) 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))) ---------------------------------------- (56) 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, vuz74, vuz75) -> new_gcd0Gcd'0(vuz74, new_primRemInt(vuz75, vuz74)) 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(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error new_error -> error([]) new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primModNatS1(Zero, vuz7400) -> Zero new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_esEs(Pos(Succ(vuz2500))) -> False new_esEs(Pos(Zero)) -> True new_esEs(Neg(Succ(vuz2500))) -> False new_esEs(Neg(Zero)) -> True The set Q consists of the following terms: new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_esEs(Pos(Succ(x0))) new_primModNatS01(x0, x1, Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_esEs(Neg(Succ(x0))) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primMinusNatS0(Zero, Zero) new_primModNatS02(x0, x1) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (57) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (58) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, vuz74, vuz75) -> new_gcd0Gcd'0(vuz74, new_primRemInt(vuz75, vuz74)) 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(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error new_error -> error([]) new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primModNatS1(Zero, vuz7400) -> Zero new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_esEs(Pos(Succ(vuz2500))) -> False new_esEs(Pos(Zero)) -> True new_esEs(Neg(Succ(vuz2500))) -> False new_esEs(Neg(Zero)) -> True The set Q consists of the following terms: new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_esEs(Pos(Succ(x0))) new_primModNatS01(x0, x1, Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_esEs(Neg(Succ(x0))) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primMinusNatS0(Zero, Zero) new_primModNatS02(x0, x1) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (59) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_gcd0Gcd'1(False, vuz74, vuz75) -> new_gcd0Gcd'0(vuz74, new_primRemInt(vuz75, vuz74)) 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)) ---------------------------------------- (60) 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(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error new_error -> error([]) new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primModNatS1(Zero, vuz7400) -> Zero new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_esEs(Pos(Succ(vuz2500))) -> False new_esEs(Pos(Zero)) -> True new_esEs(Neg(Succ(vuz2500))) -> False new_esEs(Neg(Zero)) -> True The set Q consists of the following terms: new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_esEs(Pos(Succ(x0))) new_primModNatS01(x0, x1, Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_esEs(Neg(Succ(x0))) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primMinusNatS0(Zero, Zero) new_primModNatS02(x0, x1) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (61) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 3 SCCs with 4 less nodes. ---------------------------------------- (62) Complex Obligation (AND) ---------------------------------------- (63) 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(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error new_error -> error([]) new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primModNatS1(Zero, vuz7400) -> Zero new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_esEs(Pos(Succ(vuz2500))) -> False new_esEs(Pos(Zero)) -> True new_esEs(Neg(Succ(vuz2500))) -> False new_esEs(Neg(Zero)) -> True The set Q consists of the following terms: new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_esEs(Pos(Succ(x0))) new_primModNatS01(x0, x1, Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_esEs(Neg(Succ(x0))) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primMinusNatS0(Zero, Zero) new_primModNatS02(x0, x1) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (64) 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. ---------------------------------------- (65) 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(vuz74000)) -> Succ(Zero) new_primModNatS1(Zero, vuz7400) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) new_esEs(Neg(Succ(vuz2500))) -> False new_esEs(Neg(Zero)) -> True new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) The set Q consists of the following terms: new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_esEs(Pos(Succ(x0))) new_primModNatS01(x0, x1, Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_esEs(Neg(Succ(x0))) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primMinusNatS0(Zero, Zero) new_primModNatS02(x0, x1) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (66) 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(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primRemInt(Neg(x0), Neg(Zero)) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primRemInt(Neg(x0), Neg(Succ(x1))) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_primRemInt(Pos(x0), Pos(Succ(x1))) ---------------------------------------- (67) 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(vuz74000)) -> Succ(Zero) new_primModNatS1(Zero, vuz7400) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) new_esEs(Neg(Succ(vuz2500))) -> False new_esEs(Neg(Zero)) -> True new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Pos(Succ(x0))) new_primModNatS01(x0, x1, Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_esEs(Neg(Succ(x0))) new_primMinusNatS0(Zero, Zero) new_primModNatS02(x0, x1) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (68) 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(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero))),new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero)))) (new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero))),new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero)))) (new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Neg(new_primModNatS01(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_primModNatS01(x0, x1, x0, x1)))) ---------------------------------------- (69) 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(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primModNatS1(Zero, vuz7400) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) new_esEs(Neg(Succ(vuz2500))) -> False new_esEs(Neg(Zero)) -> True new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Pos(Succ(x0))) new_primModNatS01(x0, x1, Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_esEs(Neg(Succ(x0))) new_primMinusNatS0(Zero, Zero) new_primModNatS02(x0, x1) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (70) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (71) 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_primMinusNatS0(Zero, Zero), Zero))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primModNatS1(Zero, vuz7400) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) new_esEs(Neg(Succ(vuz2500))) -> False new_esEs(Neg(Zero)) -> True new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Pos(Succ(x0))) new_primModNatS01(x0, x1, Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_esEs(Neg(Succ(x0))) new_primMinusNatS0(Zero, Zero) new_primModNatS02(x0, x1) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (72) 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_primMinusNatS0(Zero, Zero), 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)))) ---------------------------------------- (73) 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(Succ(x0), Zero), Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 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(vuz74000)) -> Succ(Zero) new_primModNatS1(Zero, vuz7400) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) new_esEs(Neg(Succ(vuz2500))) -> False new_esEs(Neg(Zero)) -> True new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Pos(Succ(x0))) new_primModNatS01(x0, x1, Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_esEs(Neg(Succ(x0))) new_primMinusNatS0(Zero, Zero) new_primModNatS02(x0, x1) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (74) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (75) 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(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primModNatS1(Zero, vuz7400) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) new_esEs(Neg(Succ(vuz2500))) -> False new_esEs(Neg(Zero)) -> True new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Pos(Succ(x0))) new_primModNatS01(x0, x1, Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_esEs(Neg(Succ(x0))) new_primMinusNatS0(Zero, Zero) new_primModNatS02(x0, x1) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (76) 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(Succ(x0), Zero), 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)))) ---------------------------------------- (77) 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_primModNatS01(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(vuz74000)) -> Succ(Zero) new_primModNatS1(Zero, vuz7400) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) new_esEs(Neg(Succ(vuz2500))) -> False new_esEs(Neg(Zero)) -> True new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Pos(Succ(x0))) new_primModNatS01(x0, x1, Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_esEs(Neg(Succ(x0))) new_primMinusNatS0(Zero, Zero) new_primModNatS02(x0, x1) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (78) 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(Zero)), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS0(Zero, Zero), 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_primMinusNatS0(Zero, Zero), Zero))), Neg(Succ(Zero)), Neg(Succ(Zero)))) (new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), 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(Succ(x0), Zero), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(x0))))) (new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(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_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0))))) ---------------------------------------- (79) 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_primModNatS01(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(Zero)), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero))), Neg(Succ(Zero)), Neg(Succ(Zero))) new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(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(vuz74000)) -> Succ(Zero) new_primModNatS1(Zero, vuz7400) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) new_esEs(Neg(Succ(vuz2500))) -> False new_esEs(Neg(Zero)) -> True new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Pos(Succ(x0))) new_primModNatS01(x0, x1, Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_esEs(Neg(Succ(x0))) new_primMinusNatS0(Zero, Zero) new_primModNatS02(x0, x1) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (80) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 2 SCCs with 2 less nodes. ---------------------------------------- (81) Complex Obligation (AND) ---------------------------------------- (82) 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(Succ(x0), Zero), 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(vuz74000)) -> Succ(Zero) new_primModNatS1(Zero, vuz7400) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) new_esEs(Neg(Succ(vuz2500))) -> False new_esEs(Neg(Zero)) -> True new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Pos(Succ(x0))) new_primModNatS01(x0, x1, Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_esEs(Neg(Succ(x0))) new_primMinusNatS0(Zero, Zero) new_primModNatS02(x0, x1) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (83) UsableRulesProof (EQUIVALENT) As all Q-normal forms are R-normal forms we are in the innermost case. Hence, by the usable rules processor [LPAR04] we can delete all non-usable rules [FROCOS05] from R. ---------------------------------------- (84) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), 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(vuz2500))) -> False new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_esEs(Neg(Zero)) -> True The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Pos(Succ(x0))) new_primModNatS01(x0, x1, Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_esEs(Neg(Succ(x0))) new_primMinusNatS0(Zero, Zero) new_primModNatS02(x0, x1) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (85) QReductionProof (EQUIVALENT) We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1) ---------------------------------------- (86) 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(Succ(x0), Zero), 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(vuz2500))) -> False new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_esEs(Neg(Zero)) -> True The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Pos(Succ(x0))) new_primMinusNatS0(Succ(x0), Zero) new_primMinusNatS0(Succ(x0), Succ(x1)) new_esEs(Neg(Succ(x0))) new_primMinusNatS0(Zero, Zero) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (87) 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(Succ(x0), Zero), 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))))) ---------------------------------------- (88) 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(vuz2500))) -> False new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_esEs(Neg(Zero)) -> True The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Pos(Succ(x0))) new_primMinusNatS0(Succ(x0), Zero) new_primMinusNatS0(Succ(x0), Succ(x1)) new_esEs(Neg(Succ(x0))) new_primMinusNatS0(Zero, Zero) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (89) 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)))) ---------------------------------------- (90) 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(vuz2500))) -> False new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_esEs(Neg(Zero)) -> True The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Pos(Succ(x0))) new_primMinusNatS0(Succ(x0), Zero) new_primMinusNatS0(Succ(x0), Succ(x1)) new_esEs(Neg(Succ(x0))) new_primMinusNatS0(Zero, Zero) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (91) 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(Succ(x0))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero))),new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero)))) (new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero))),new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero)))) ---------------------------------------- (92) 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(Succ(x0), Zero), Zero))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero))) The TRS R consists of the following rules: new_esEs(Neg(Succ(vuz2500))) -> False new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_esEs(Neg(Zero)) -> True The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Pos(Succ(x0))) new_primMinusNatS0(Succ(x0), Zero) new_primMinusNatS0(Succ(x0), Succ(x1)) new_esEs(Neg(Succ(x0))) new_primMinusNatS0(Zero, Zero) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (93) 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(Succ(x0), Zero), 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)))) ---------------------------------------- (94) 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_primMinusNatS0(Zero, Zero), 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(vuz2500))) -> False new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_esEs(Neg(Zero)) -> True The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Pos(Succ(x0))) new_primMinusNatS0(Succ(x0), Zero) new_primMinusNatS0(Succ(x0), Succ(x1)) new_esEs(Neg(Succ(x0))) new_primMinusNatS0(Zero, Zero) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (95) 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_primMinusNatS0(Zero, Zero), 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)))) ---------------------------------------- (96) 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(Succ(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(vuz2500))) -> False new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_esEs(Neg(Zero)) -> True The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Pos(Succ(x0))) new_primMinusNatS0(Succ(x0), Zero) new_primMinusNatS0(Succ(x0), Succ(x1)) new_esEs(Neg(Succ(x0))) new_primMinusNatS0(Zero, Zero) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (97) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (98) 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(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'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(vuz2500))) -> False new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_esEs(Neg(Zero)) -> True The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Pos(Succ(x0))) new_primMinusNatS0(Succ(x0), Zero) new_primMinusNatS0(Succ(x0), Succ(x1)) new_esEs(Neg(Succ(x0))) new_primMinusNatS0(Zero, Zero) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (99) 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(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), 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(Succ(x0), Zero), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))))) (new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS0(Zero, Zero), 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_primMinusNatS0(Zero, Zero), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Zero))))) ---------------------------------------- (100) Obligation: Q DP problem: The TRS P consists of the following rules: 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'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(Succ(x0), Zero), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Zero)))) The TRS R consists of the following rules: new_esEs(Neg(Succ(vuz2500))) -> False new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_esEs(Neg(Zero)) -> True The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Pos(Succ(x0))) new_primMinusNatS0(Succ(x0), Zero) new_primMinusNatS0(Succ(x0), Succ(x1)) new_esEs(Neg(Succ(x0))) new_primMinusNatS0(Zero, Zero) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (101) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (102) 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'0(Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), 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))) The TRS R consists of the following rules: new_esEs(Neg(Succ(vuz2500))) -> False new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_esEs(Neg(Zero)) -> True The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Pos(Succ(x0))) new_primMinusNatS0(Succ(x0), Zero) new_primMinusNatS0(Succ(x0), Succ(x1)) new_esEs(Neg(Succ(x0))) new_primMinusNatS0(Zero, Zero) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (103) 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(Succ(x0), Zero), 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)))))) ---------------------------------------- (104) 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(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(vuz2500))) -> False new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_esEs(Neg(Zero)) -> True The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Pos(Succ(x0))) new_primMinusNatS0(Succ(x0), Zero) new_primMinusNatS0(Succ(x0), Succ(x1)) new_esEs(Neg(Succ(x0))) new_primMinusNatS0(Zero, Zero) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (105) 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(Succ(x0)))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), 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(Succ(x0), Zero), Zero)))) (new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero))),new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero)))) ---------------------------------------- (106) 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'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(Succ(x0), Zero), Zero))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero))) The TRS R consists of the following rules: new_esEs(Neg(Succ(vuz2500))) -> False new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_esEs(Neg(Zero)) -> True The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Pos(Succ(x0))) new_primMinusNatS0(Succ(x0), Zero) new_primMinusNatS0(Succ(x0), Succ(x1)) new_esEs(Neg(Succ(x0))) new_primMinusNatS0(Zero, Zero) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (107) 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(Succ(x0), Zero), 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)))) ---------------------------------------- (108) 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'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_primMinusNatS0(Zero, Zero), 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(vuz2500))) -> False new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_esEs(Neg(Zero)) -> True The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Pos(Succ(x0))) new_primMinusNatS0(Succ(x0), Zero) new_primMinusNatS0(Succ(x0), Succ(x1)) new_esEs(Neg(Succ(x0))) new_primMinusNatS0(Zero, Zero) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (109) 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_primMinusNatS0(Zero, Zero), 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)))) ---------------------------------------- (110) 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'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(Succ(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(vuz2500))) -> False new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_esEs(Neg(Zero)) -> True The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Pos(Succ(x0))) new_primMinusNatS0(Succ(x0), Zero) new_primMinusNatS0(Succ(x0), Succ(x1)) new_esEs(Neg(Succ(x0))) new_primMinusNatS0(Zero, Zero) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (111) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (112) 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(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(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(vuz2500))) -> False new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_esEs(Neg(Zero)) -> True The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Pos(Succ(x0))) new_primMinusNatS0(Succ(x0), Zero) new_primMinusNatS0(Succ(x0), Succ(x1)) new_esEs(Neg(Succ(x0))) new_primMinusNatS0(Zero, Zero) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (113) 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(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), 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(Succ(x0), Zero), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0))))))) (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS0(Zero, Zero), 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_primMinusNatS0(Zero, Zero), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Zero)))))) ---------------------------------------- (114) 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(new_primMinusNatS0(Succ(x0), Zero), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Zero))))) The TRS R consists of the following rules: new_esEs(Neg(Succ(vuz2500))) -> False new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_esEs(Neg(Zero)) -> True The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Pos(Succ(x0))) new_primMinusNatS0(Succ(x0), Zero) new_primMinusNatS0(Succ(x0), Succ(x1)) new_esEs(Neg(Succ(x0))) new_primMinusNatS0(Zero, Zero) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (115) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (116) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), 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))) 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(vuz2500))) -> False new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_esEs(Neg(Zero)) -> True The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Pos(Succ(x0))) new_primMinusNatS0(Succ(x0), Zero) new_primMinusNatS0(Succ(x0), Succ(x1)) new_esEs(Neg(Succ(x0))) new_primMinusNatS0(Zero, Zero) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (117) 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(Succ(x0), Zero), 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))))))) ---------------------------------------- (118) Obligation: Q DP problem: The TRS P consists of the following rules: 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'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(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) The TRS R consists of the following rules: new_esEs(Neg(Succ(vuz2500))) -> False new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_esEs(Neg(Zero)) -> True The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Pos(Succ(x0))) new_primMinusNatS0(Succ(x0), Zero) new_primMinusNatS0(Succ(x0), Succ(x1)) new_esEs(Neg(Succ(x0))) new_primMinusNatS0(Zero, Zero) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (119) 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, x_2)) = x_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)), 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'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'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, vuz7400) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) ---------------------------------------- (120) YES ---------------------------------------- (121) 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_primModNatS01(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_primModNatS01(x0, x1, x0, x1))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primModNatS1(Zero, vuz7400) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) new_esEs(Neg(Succ(vuz2500))) -> False new_esEs(Neg(Zero)) -> True new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Pos(Succ(x0))) new_primModNatS01(x0, x1, Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_esEs(Neg(Succ(x0))) new_primMinusNatS0(Zero, Zero) new_primModNatS02(x0, x1) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (122) 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. ---------------------------------------- (123) 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_primModNatS01(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_primModNatS01(x0, x1, x0, x1))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_esEs(Neg(Succ(vuz2500))) -> False new_esEs(Neg(Zero)) -> True The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Pos(Succ(x0))) new_primModNatS01(x0, x1, Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_esEs(Neg(Succ(x0))) new_primMinusNatS0(Zero, Zero) new_primModNatS02(x0, x1) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (124) 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_primModNatS01(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(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(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_primModNatS02(Zero, Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))))) (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(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_primModNatS01(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_primModNatS02(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_primModNatS02(Succ(x2), 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(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))))) ---------------------------------------- (125) 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_primModNatS01(x0, x1, x0, x1))) new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(Zero, Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(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_primModNatS02(Succ(x2), 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(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(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_esEs(Neg(Succ(vuz2500))) -> False new_esEs(Neg(Zero)) -> True The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Pos(Succ(x0))) new_primModNatS01(x0, x1, Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_esEs(Neg(Succ(x0))) new_primMinusNatS0(Zero, Zero) new_primModNatS02(x0, x1) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (126) 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_primModNatS02(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_primMinusNatS0(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_primMinusNatS0(Succ(Zero), Succ(Zero)), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))))) ---------------------------------------- (127) 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_primModNatS01(x0, x1, x0, x1))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(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_primModNatS02(Succ(x2), 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(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(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS0(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(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_esEs(Neg(Succ(vuz2500))) -> False new_esEs(Neg(Zero)) -> True The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Pos(Succ(x0))) new_primModNatS01(x0, x1, Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_esEs(Neg(Succ(x0))) new_primMinusNatS0(Zero, Zero) new_primModNatS02(x0, x1) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (128) 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_primModNatS02(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_primMinusNatS0(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_primMinusNatS0(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))))) ---------------------------------------- (129) 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_primModNatS01(x0, x1, x0, x1))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(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(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS0(Succ(Zero), Succ(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(new_primMinusNatS0(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(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_esEs(Neg(Succ(vuz2500))) -> False new_esEs(Neg(Zero)) -> True The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Pos(Succ(x0))) new_primModNatS01(x0, x1, Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_esEs(Neg(Succ(x0))) new_primMinusNatS0(Zero, Zero) new_primModNatS02(x0, x1) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (130) 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))))) ---------------------------------------- (131) 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_primModNatS01(x0, x1, x0, x1))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(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_primMinusNatS0(Succ(Zero), Succ(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(new_primMinusNatS0(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(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(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_esEs(Neg(Succ(vuz2500))) -> False new_esEs(Neg(Zero)) -> True The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Pos(Succ(x0))) new_primModNatS01(x0, x1, Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_esEs(Neg(Succ(x0))) new_primMinusNatS0(Zero, Zero) new_primModNatS02(x0, x1) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (132) 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_primMinusNatS0(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_primMinusNatS0(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_primMinusNatS0(Zero, Zero), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))))) ---------------------------------------- (133) 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_primModNatS01(x0, x1, x0, x1))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(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_primMinusNatS0(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(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_primMinusNatS0(Zero, Zero), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_esEs(Neg(Succ(vuz2500))) -> False new_esEs(Neg(Zero)) -> True The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Pos(Succ(x0))) new_primModNatS01(x0, x1, Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_esEs(Neg(Succ(x0))) new_primMinusNatS0(Zero, Zero) new_primModNatS02(x0, x1) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (134) 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_primMinusNatS0(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_primMinusNatS0(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_primMinusNatS0(Succ(x2), Zero), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))))) ---------------------------------------- (135) 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_primModNatS01(x0, x1, x0, x1))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(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_primMinusNatS0(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(new_primMinusNatS0(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(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_esEs(Neg(Succ(vuz2500))) -> False new_esEs(Neg(Zero)) -> True The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Pos(Succ(x0))) new_primModNatS01(x0, x1, Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_esEs(Neg(Succ(x0))) new_primMinusNatS0(Zero, Zero) new_primModNatS02(x0, x1) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (136) 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_primMinusNatS0(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))))) ---------------------------------------- (137) 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_primModNatS01(x0, x1, x0, x1))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(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_primMinusNatS0(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(Zero, Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_esEs(Neg(Succ(vuz2500))) -> False new_esEs(Neg(Zero)) -> True The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Pos(Succ(x0))) new_primModNatS01(x0, x1, Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_esEs(Neg(Succ(x0))) new_primMinusNatS0(Zero, Zero) new_primModNatS02(x0, x1) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (138) 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_primMinusNatS0(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)))))) ---------------------------------------- (139) 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_primModNatS01(x0, x1, x0, x1))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(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(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(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_esEs(Neg(Succ(vuz2500))) -> False new_esEs(Neg(Zero)) -> True The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Pos(Succ(x0))) new_primModNatS01(x0, x1, Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_esEs(Neg(Succ(x0))) new_primMinusNatS0(Zero, Zero) new_primModNatS02(x0, x1) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (140) 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))))) ---------------------------------------- (141) 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_primModNatS01(x0, x1, x0, x1))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(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(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_esEs(Neg(Succ(vuz2500))) -> False new_esEs(Neg(Zero)) -> True The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Pos(Succ(x0))) new_primModNatS01(x0, x1, Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_esEs(Neg(Succ(x0))) new_primMinusNatS0(Zero, Zero) new_primModNatS02(x0, x1) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (142) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (143) 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_primModNatS01(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_primModNatS01(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(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_esEs(Neg(Succ(vuz2500))) -> False new_esEs(Neg(Zero)) -> True The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Pos(Succ(x0))) new_primModNatS01(x0, x1, Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_esEs(Neg(Succ(x0))) new_primMinusNatS0(Zero, Zero) new_primModNatS02(x0, x1) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (144) 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_primModNatS01(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(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(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_primModNatS02(Succ(Zero), 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(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(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_primModNatS01(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_primModNatS02(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_primModNatS02(Succ(Succ(x2)), 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(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)))))) ---------------------------------------- (145) 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_primModNatS01(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(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(Succ(Zero), 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(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(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_primModNatS02(Succ(Succ(x2)), 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(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(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_esEs(Neg(Succ(vuz2500))) -> False new_esEs(Neg(Zero)) -> True The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Pos(Succ(x0))) new_primModNatS01(x0, x1, Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_esEs(Neg(Succ(x0))) new_primMinusNatS0(Zero, Zero) new_primModNatS02(x0, x1) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (146) 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_primModNatS02(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_primMinusNatS0(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_primMinusNatS0(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))))) ---------------------------------------- (147) 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_primModNatS01(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_primModNatS01(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_primModNatS02(Succ(Succ(x2)), 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(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(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS0(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(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_esEs(Neg(Succ(vuz2500))) -> False new_esEs(Neg(Zero)) -> True The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Pos(Succ(x0))) new_primModNatS01(x0, x1, Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_esEs(Neg(Succ(x0))) new_primMinusNatS0(Zero, Zero) new_primModNatS02(x0, x1) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (148) 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_primModNatS02(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_primMinusNatS0(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_primMinusNatS0(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))))) ---------------------------------------- (149) 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_primModNatS01(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_primModNatS01(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(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS0(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(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS0(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(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_esEs(Neg(Succ(vuz2500))) -> False new_esEs(Neg(Zero)) -> True The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Pos(Succ(x0))) new_primModNatS01(x0, x1, Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_esEs(Neg(Succ(x0))) new_primMinusNatS0(Zero, Zero) new_primModNatS02(x0, x1) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (150) 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)))))) ---------------------------------------- (151) 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_primModNatS01(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_primModNatS01(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_primMinusNatS0(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(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS0(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(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(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_esEs(Neg(Succ(vuz2500))) -> False new_esEs(Neg(Zero)) -> True The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Pos(Succ(x0))) new_primModNatS01(x0, x1, Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_esEs(Neg(Succ(x0))) new_primMinusNatS0(Zero, Zero) new_primModNatS02(x0, x1) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (152) 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_primMinusNatS0(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_primMinusNatS0(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_primMinusNatS0(Succ(Zero), Succ(Zero)), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))))) ---------------------------------------- (153) 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_primModNatS01(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_primModNatS01(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_primMinusNatS0(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(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_primMinusNatS0(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(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_esEs(Neg(Succ(vuz2500))) -> False new_esEs(Neg(Zero)) -> True The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Pos(Succ(x0))) new_primModNatS01(x0, x1, Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_esEs(Neg(Succ(x0))) new_primMinusNatS0(Zero, Zero) new_primModNatS02(x0, x1) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (154) 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_primMinusNatS0(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_primMinusNatS0(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_primMinusNatS0(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))))) ---------------------------------------- (155) 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_primModNatS01(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_primModNatS01(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_primMinusNatS0(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_primMinusNatS0(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(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_esEs(Neg(Succ(vuz2500))) -> False new_esEs(Neg(Zero)) -> True The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Pos(Succ(x0))) new_primModNatS01(x0, x1, Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_esEs(Neg(Succ(x0))) new_primMinusNatS0(Zero, Zero) new_primModNatS02(x0, x1) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (156) 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_primMinusNatS0(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_primMinusNatS0(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_primMinusNatS0(Zero, Zero), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))))) ---------------------------------------- (157) 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_primModNatS01(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_primModNatS01(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_primMinusNatS0(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_primMinusNatS0(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(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_esEs(Neg(Succ(vuz2500))) -> False new_esEs(Neg(Zero)) -> True The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Pos(Succ(x0))) new_primModNatS01(x0, x1, Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_esEs(Neg(Succ(x0))) new_primMinusNatS0(Zero, Zero) new_primModNatS02(x0, x1) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (158) 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_primMinusNatS0(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_primMinusNatS0(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_primMinusNatS0(Succ(x2), Zero), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))))) ---------------------------------------- (159) 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_primModNatS01(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_primModNatS01(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_primMinusNatS0(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(new_primMinusNatS0(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(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_esEs(Neg(Succ(vuz2500))) -> False new_esEs(Neg(Zero)) -> True The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Pos(Succ(x0))) new_primModNatS01(x0, x1, Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_esEs(Neg(Succ(x0))) new_primMinusNatS0(Zero, Zero) new_primModNatS02(x0, x1) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (160) 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_primMinusNatS0(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)))))) ---------------------------------------- (161) 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_primModNatS01(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_primModNatS01(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_primMinusNatS0(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(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(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_esEs(Neg(Succ(vuz2500))) -> False new_esEs(Neg(Zero)) -> True The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Pos(Succ(x0))) new_primModNatS01(x0, x1, Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_esEs(Neg(Succ(x0))) new_primMinusNatS0(Zero, Zero) new_primModNatS02(x0, x1) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (162) 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_primMinusNatS0(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))))))) ---------------------------------------- (163) 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_primModNatS01(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_primModNatS01(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(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(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_esEs(Neg(Succ(vuz2500))) -> False new_esEs(Neg(Zero)) -> True The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Pos(Succ(x0))) new_primModNatS01(x0, x1, Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_esEs(Neg(Succ(x0))) new_primMinusNatS0(Zero, Zero) new_primModNatS02(x0, x1) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (164) 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)))))) ---------------------------------------- (165) 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_primModNatS01(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_primModNatS01(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(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_esEs(Neg(Succ(vuz2500))) -> False new_esEs(Neg(Zero)) -> True The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Pos(Succ(x0))) new_primModNatS01(x0, x1, Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_esEs(Neg(Succ(x0))) new_primMinusNatS0(Zero, Zero) new_primModNatS02(x0, x1) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (166) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (167) 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_primModNatS01(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_primModNatS01(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(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_esEs(Neg(Succ(vuz2500))) -> False new_esEs(Neg(Zero)) -> True The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Pos(Succ(x0))) new_primModNatS01(x0, x1, Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_esEs(Neg(Succ(x0))) new_primMinusNatS0(Zero, Zero) new_primModNatS02(x0, x1) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (168) 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_primModNatS01(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(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(Zero, Zero))),new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(Zero, 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_primModNatS01(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_primModNatS01(Succ(x2), Succ(x3), x2, x3)))) (new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(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_primModNatS02(Succ(x2), 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))))) ---------------------------------------- (169) 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_primModNatS01(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(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(Zero, 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_primModNatS01(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(Succ(x2), 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(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_esEs(Neg(Succ(vuz2500))) -> False new_esEs(Neg(Zero)) -> True The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Pos(Succ(x0))) new_primModNatS01(x0, x1, Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_esEs(Neg(Succ(x0))) new_primMinusNatS0(Zero, Zero) new_primModNatS02(x0, x1) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (170) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 2 SCCs with 1 less node. ---------------------------------------- (171) Complex Obligation (AND) ---------------------------------------- (172) 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_primModNatS02(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(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_esEs(Neg(Succ(vuz2500))) -> False new_esEs(Neg(Zero)) -> True The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Pos(Succ(x0))) new_primModNatS01(x0, x1, Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_esEs(Neg(Succ(x0))) new_primMinusNatS0(Zero, Zero) new_primModNatS02(x0, x1) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (173) 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_primModNatS02(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_primMinusNatS0(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_primMinusNatS0(Succ(Succ(x2)), Succ(Zero)), Succ(Zero))))) ---------------------------------------- (174) 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_primMinusNatS0(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_esEs(Neg(Succ(vuz2500))) -> False new_esEs(Neg(Zero)) -> True The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Pos(Succ(x0))) new_primModNatS01(x0, x1, Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_esEs(Neg(Succ(x0))) new_primMinusNatS0(Zero, Zero) new_primModNatS02(x0, x1) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (175) 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_primMinusNatS0(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_primMinusNatS0(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_primMinusNatS0(Succ(x2), Zero), Succ(Zero))))) ---------------------------------------- (176) 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_primMinusNatS0(Succ(x2), Zero), Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_esEs(Neg(Succ(vuz2500))) -> False new_esEs(Neg(Zero)) -> True The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Pos(Succ(x0))) new_primModNatS01(x0, x1, Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_esEs(Neg(Succ(x0))) new_primMinusNatS0(Zero, Zero) new_primModNatS02(x0, x1) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (177) 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_primMinusNatS0(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))))) ---------------------------------------- (178) 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(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_esEs(Neg(Succ(vuz2500))) -> False new_esEs(Neg(Zero)) -> True The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Pos(Succ(x0))) new_primModNatS01(x0, x1, Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_esEs(Neg(Succ(x0))) new_primMinusNatS0(Zero, Zero) new_primModNatS02(x0, x1) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (179) 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_primModNatS01(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_primModNatS01(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)))))) ---------------------------------------- (180) 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_primModNatS01(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(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_esEs(Neg(Succ(vuz2500))) -> False new_esEs(Neg(Zero)) -> True The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Pos(Succ(x0))) new_primModNatS01(x0, x1, Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_esEs(Neg(Succ(x0))) new_primMinusNatS0(Zero, Zero) new_primModNatS02(x0, x1) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (181) 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)))))) ---------------------------------------- (182) 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_primModNatS01(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(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_esEs(Neg(Succ(vuz2500))) -> False new_esEs(Neg(Zero)) -> True The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Pos(Succ(x0))) new_primModNatS01(x0, x1, Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_esEs(Neg(Succ(x0))) new_primMinusNatS0(Zero, Zero) new_primModNatS02(x0, x1) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (183) 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_primModNatS01(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_primModNatS01(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)))) ---------------------------------------- (184) 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_primModNatS01(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_primModNatS01(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(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_esEs(Neg(Succ(vuz2500))) -> False new_esEs(Neg(Zero)) -> True The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Pos(Succ(x0))) new_primModNatS01(x0, x1, Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_esEs(Neg(Succ(x0))) new_primMinusNatS0(Zero, Zero) new_primModNatS02(x0, x1) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (185) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 2 less nodes. ---------------------------------------- (186) 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_primModNatS01(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_primModNatS01(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(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_esEs(Neg(Succ(vuz2500))) -> False new_esEs(Neg(Zero)) -> True The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Pos(Succ(x0))) new_primModNatS01(x0, x1, Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_esEs(Neg(Succ(x0))) new_primMinusNatS0(Zero, Zero) new_primModNatS02(x0, x1) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (187) 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_primModNatS01(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)) = 1 + 2*x_1 POL(Succ(x_1)) = 1 + x_1 POL(True) = 3 POL(Zero) = 2 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_primMinusNatS0(x_1, x_2)) = x_1 POL(new_primModNatS01(x_1, x_2, x_3, x_4)) = 2 + x_1 POL(new_primModNatS02(x_1, x_2)) = 2 + x_1 POL(new_primModNatS1(x_1, x_2)) = x_1 The following usable rules [FROCOS05] with respect to the argument filtering of the ordering [JAR06] were oriented: new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) ---------------------------------------- (188) 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_primModNatS01(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(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_esEs(Neg(Succ(vuz2500))) -> False new_esEs(Neg(Zero)) -> True The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Pos(Succ(x0))) new_primModNatS01(x0, x1, Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_esEs(Neg(Succ(x0))) new_primMinusNatS0(Zero, Zero) new_primModNatS02(x0, x1) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (189) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 0 SCCs with 3 less nodes. ---------------------------------------- (190) TRUE ---------------------------------------- (191) 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_primModNatS01(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_primModNatS01(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(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_esEs(Neg(Succ(vuz2500))) -> False new_esEs(Neg(Zero)) -> True The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Pos(Succ(x0))) new_primModNatS01(x0, x1, Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_esEs(Neg(Succ(x0))) new_primMinusNatS0(Zero, Zero) new_primModNatS02(x0, x1) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (192) 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_primModNatS01(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(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(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_primModNatS02(Succ(Zero), 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_primModNatS01(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_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)))) (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_primModNatS02(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_primModNatS02(Succ(Succ(x2)), 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)))))) ---------------------------------------- (193) 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_primModNatS01(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(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Zero), 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_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 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_primModNatS02(Succ(Succ(x2)), 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(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_esEs(Neg(Succ(vuz2500))) -> False new_esEs(Neg(Zero)) -> True The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Pos(Succ(x0))) new_primModNatS01(x0, x1, Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_esEs(Neg(Succ(x0))) new_primMinusNatS0(Zero, Zero) new_primModNatS02(x0, x1) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (194) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 2 SCCs with 1 less node. ---------------------------------------- (195) Complex Obligation (AND) ---------------------------------------- (196) 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_primModNatS02(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(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_esEs(Neg(Succ(vuz2500))) -> False new_esEs(Neg(Zero)) -> True The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Pos(Succ(x0))) new_primModNatS01(x0, x1, Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_esEs(Neg(Succ(x0))) new_primMinusNatS0(Zero, Zero) new_primModNatS02(x0, x1) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (197) 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_primModNatS02(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_primMinusNatS0(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_primMinusNatS0(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero)))))) ---------------------------------------- (198) 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_primMinusNatS0(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_esEs(Neg(Succ(vuz2500))) -> False new_esEs(Neg(Zero)) -> True The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Pos(Succ(x0))) new_primModNatS01(x0, x1, Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_esEs(Neg(Succ(x0))) new_primMinusNatS0(Zero, Zero) new_primModNatS02(x0, x1) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (199) 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_primMinusNatS0(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_primMinusNatS0(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_primMinusNatS0(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero)))))) ---------------------------------------- (200) 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_primMinusNatS0(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_esEs(Neg(Succ(vuz2500))) -> False new_esEs(Neg(Zero)) -> True The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Pos(Succ(x0))) new_primModNatS01(x0, x1, Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_esEs(Neg(Succ(x0))) new_primMinusNatS0(Zero, Zero) new_primModNatS02(x0, x1) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (201) 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_primMinusNatS0(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_primMinusNatS0(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_primMinusNatS0(Succ(x2), Zero), Succ(Succ(Zero)))))) ---------------------------------------- (202) 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_primMinusNatS0(Succ(x2), Zero), Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_esEs(Neg(Succ(vuz2500))) -> False new_esEs(Neg(Zero)) -> True The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Pos(Succ(x0))) new_primModNatS01(x0, x1, Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_esEs(Neg(Succ(x0))) new_primMinusNatS0(Zero, Zero) new_primModNatS02(x0, x1) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (203) 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_primMinusNatS0(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)))))) ---------------------------------------- (204) 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(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_esEs(Neg(Succ(vuz2500))) -> False new_esEs(Neg(Zero)) -> True The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Pos(Succ(x0))) new_primModNatS01(x0, x1, Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_esEs(Neg(Succ(x0))) new_primMinusNatS0(Zero, Zero) new_primModNatS02(x0, x1) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (205) 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(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 remaining pairs can at least be oriented weakly. Used ordering: Polynomial interpretation [POLO]: POL(False) = 0 POL(Neg(x_1)) = 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)) = x_1 + x_2 POL(new_gcd0Gcd'1(x_1, x_2, x_3)) = x_2 + x_3 POL(new_primMinusNatS0(x_1, x_2)) = x_1 POL(new_primModNatS01(x_1, x_2, x_3, x_4)) = 2 + x_1 POL(new_primModNatS02(x_1, x_2)) = 2 + 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_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) ---------------------------------------- (206) 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))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_esEs(Neg(Succ(vuz2500))) -> False new_esEs(Neg(Zero)) -> True The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Pos(Succ(x0))) new_primModNatS01(x0, x1, Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_esEs(Neg(Succ(x0))) new_primMinusNatS0(Zero, Zero) new_primModNatS02(x0, x1) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (207) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 0 SCCs with 3 less nodes. ---------------------------------------- (208) TRUE ---------------------------------------- (209) 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_primModNatS01(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_primModNatS01(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(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_esEs(Neg(Succ(vuz2500))) -> False new_esEs(Neg(Zero)) -> True The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Pos(Succ(x0))) new_primModNatS01(x0, x1, Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_esEs(Neg(Succ(x0))) new_primMinusNatS0(Zero, Zero) new_primModNatS02(x0, x1) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (210) 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(Zero)) new_esEs(Pos(Succ(x0))) ---------------------------------------- (211) 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_primModNatS01(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_primModNatS01(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(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_esEs(Neg(Succ(vuz2500))) -> False new_esEs(Neg(Zero)) -> True The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primModNatS01(x0, x1, Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_esEs(Neg(Succ(x0))) new_primMinusNatS0(Zero, Zero) new_primModNatS02(x0, x1) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all (P,Q,R)-chains. ---------------------------------------- (212) 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_primModNatS01(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_primModNatS01(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_primModNatS01(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_primModNatS01(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_primModNatS01(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_primModNatS01(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_primModNatS01(Succ(Succ(x3)), Succ(Succ(x2)), x3, x2)))) We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x12, x13, x3, x2)=Succ(Succ(Succ(Succ(x5)))) which results in the following new constraints: (3) (new_primModNatS02(x15, x14)=Succ(Succ(Succ(Succ(x5)))) & Succ(Succ(Zero))=x15 & Succ(Succ(Zero))=x14 ==> 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_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero)))) (4) (new_primModNatS01(x19, x18, x17, x16)=Succ(Succ(Succ(Succ(x5)))) & Succ(Succ(Succ(x17)))=x19 & Succ(Succ(Succ(x16)))=x18 & (\/x20:new_primModNatS01(x19, x18, x17, x16)=Succ(Succ(Succ(Succ(x20)))) & Succ(Succ(x17))=x19 & Succ(Succ(x16))=x18 ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x16))))), Neg(Succ(Succ(Succ(Succ(x17))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x16))))), Neg(new_primModNatS01(Succ(Succ(x17)), Succ(Succ(x16)), x17, x16)))) ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Succ(x16)))))), Neg(Succ(Succ(Succ(Succ(Succ(x17)))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(x16)))))), Neg(new_primModNatS01(Succ(Succ(Succ(x17))), Succ(Succ(Succ(x16))), Succ(x17), Succ(x16))))) (5) (new_primModNatS02(x23, x22)=Succ(Succ(Succ(Succ(x5)))) & Succ(Succ(Succ(x21)))=x23 & Succ(Succ(Zero))=x22 ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Succ(x21)))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(new_primModNatS01(Succ(Succ(Succ(x21))), Succ(Succ(Zero)), Succ(x21), 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_primModNatS01(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_primModNatS02(x15, x14)=Succ(Succ(Succ(Succ(x5)))) which results in the following new constraint: (7) (new_primModNatS1(new_primMinusNatS0(Succ(x28), Succ(x27)), Succ(x27))=Succ(Succ(Succ(Succ(x5)))) & Succ(Succ(Zero))=x28 & Succ(Succ(Zero))=x27 ==> 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_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero)))) We simplified constraint (4) using rule (IV) which results in the following new constraint: (8) (new_primModNatS01(x19, x18, x17, x16)=Succ(Succ(Succ(Succ(x5)))) & Succ(Succ(Succ(x17)))=x19 & Succ(Succ(Succ(x16)))=x18 ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Succ(x16)))))), Neg(Succ(Succ(Succ(Succ(Succ(x17)))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(x16)))))), Neg(new_primModNatS01(Succ(Succ(Succ(x17))), Succ(Succ(Succ(x16))), Succ(x17), Succ(x16))))) We simplified constraint (5) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x23, x22)=Succ(Succ(Succ(Succ(x5)))) which results in the following new constraint: (9) (new_primModNatS1(new_primMinusNatS0(Succ(x47), Succ(x46)), Succ(x46))=Succ(Succ(Succ(Succ(x5)))) & Succ(Succ(Succ(x21)))=x47 & Succ(Succ(Zero))=x46 ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Succ(x21)))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(new_primModNatS01(Succ(Succ(Succ(x21))), Succ(Succ(Zero)), Succ(x21), 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_primModNatS01(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(Zero))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero)))) We simplified constraint (8) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x19, x18, x17, x16)=Succ(Succ(Succ(Succ(x5)))) which results in the following new constraints: (12) (new_primModNatS02(x34, x33)=Succ(Succ(Succ(Succ(x5)))) & Succ(Succ(Succ(Zero)))=x34 & Succ(Succ(Succ(Zero)))=x33 ==> 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_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero))))) (13) (new_primModNatS01(x38, x37, x36, x35)=Succ(Succ(Succ(Succ(x5)))) & Succ(Succ(Succ(Succ(x36))))=x38 & Succ(Succ(Succ(Succ(x35))))=x37 & (\/x39:new_primModNatS01(x38, x37, x36, x35)=Succ(Succ(Succ(Succ(x39)))) & Succ(Succ(Succ(x36)))=x38 & Succ(Succ(Succ(x35)))=x37 ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Succ(x35)))))), Neg(Succ(Succ(Succ(Succ(Succ(x36)))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(x35)))))), Neg(new_primModNatS01(Succ(Succ(Succ(x36))), Succ(Succ(Succ(x35))), Succ(x36), Succ(x35))))) ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Succ(Succ(x35))))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x36))))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(Succ(x35))))))), Neg(new_primModNatS01(Succ(Succ(Succ(Succ(x36)))), Succ(Succ(Succ(Succ(x35)))), Succ(Succ(x36)), Succ(Succ(x35)))))) (14) (new_primModNatS02(x42, x41)=Succ(Succ(Succ(Succ(x5)))) & Succ(Succ(Succ(Succ(x40))))=x42 & Succ(Succ(Succ(Zero)))=x41 ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x40))))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(new_primModNatS01(Succ(Succ(Succ(Succ(x40)))), Succ(Succ(Succ(Zero))), Succ(Succ(x40)), 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_primModNatS01(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(Zero)))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(new_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), 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(x35))))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x36))))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(Succ(x35))))))), Neg(new_primModNatS01(Succ(Succ(Succ(Succ(x36)))), Succ(Succ(Succ(Succ(x35)))), Succ(Succ(x36)), Succ(Succ(x35)))))) 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(Succ(x40))))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(new_primModNatS01(Succ(Succ(Succ(Succ(x40)))), Succ(Succ(Succ(Zero))), Succ(Succ(x40)), 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_primModNatS01(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(Succ(x21)))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(new_primModNatS01(Succ(Succ(Succ(x21))), Succ(Succ(Zero)), Succ(x21), 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_primModNatS01(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_primModNatS01(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_primModNatS01(Succ(Succ(x9)), Succ(Succ(x8)), x9, x8))) which results in the following constraint: (1) (new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(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_primModNatS01(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_primModNatS01(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_primModNatS01(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_primModNatS01(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_primModNatS01(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_primModNatS01(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_primModNatS01(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_primModNatS01(x54, x55, x6, x7)=Succ(x53) which results in the following new constraints: (5) (new_primModNatS02(x57, x56)=Succ(x53) & Succ(Succ(Zero))=x57 & Succ(Succ(Zero))=x56 ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero))), Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))))) (6) (new_primModNatS01(x61, x60, x59, x58)=Succ(x53) & Succ(Succ(Succ(x59)))=x61 & Succ(Succ(Succ(x58)))=x60 & (\/x62:new_primModNatS01(x61, x60, x59, x58)=Succ(x62) & Succ(Succ(x59))=x61 & Succ(Succ(x58))=x60 ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x59))))), Neg(Succ(Succ(Succ(Succ(x58))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x59)), Succ(Succ(x58)), x59, x58))), Neg(Succ(Succ(Succ(Succ(x58))))), Neg(Succ(Succ(Succ(Succ(x59))))))) ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(x59)))))), Neg(Succ(Succ(Succ(Succ(Succ(x58)))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(Succ(x59))), Succ(Succ(Succ(x58))), Succ(x59), Succ(x58)))), Neg(Succ(Succ(Succ(Succ(Succ(x58)))))), Neg(Succ(Succ(Succ(Succ(Succ(x59)))))))) (7) (new_primModNatS02(x65, x64)=Succ(x53) & Succ(Succ(Succ(x63)))=x65 & Succ(Succ(Zero))=x64 ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(x63)))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(Succ(x63))), Succ(Succ(Zero)), Succ(x63), Zero))), Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Succ(x63)))))))) (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_primModNatS01(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_primModNatS02(x57, x56)=Succ(x53) which results in the following new constraint: (9) (new_primModNatS1(new_primMinusNatS0(Succ(x70), Succ(x69)), Succ(x69))=Succ(x53) & Succ(Succ(Zero))=x70 & Succ(Succ(Zero))=x69 ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero))), Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))))) We simplified constraint (6) using rule (IV) which results in the following new constraint: (10) (new_primModNatS01(x61, x60, x59, x58)=Succ(x53) & Succ(Succ(Succ(x59)))=x61 & Succ(Succ(Succ(x58)))=x60 ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(x59)))))), Neg(Succ(Succ(Succ(Succ(Succ(x58)))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(Succ(x59))), Succ(Succ(Succ(x58))), Succ(x59), Succ(x58)))), Neg(Succ(Succ(Succ(Succ(Succ(x58)))))), Neg(Succ(Succ(Succ(Succ(Succ(x59)))))))) We simplified constraint (7) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x65, x64)=Succ(x53) which results in the following new constraint: (11) (new_primModNatS1(new_primMinusNatS0(Succ(x89), Succ(x88)), Succ(x88))=Succ(x53) & Succ(Succ(Succ(x63)))=x89 & Succ(Succ(Zero))=x88 ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(x63)))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(Succ(x63))), Succ(Succ(Zero)), Succ(x63), Zero))), Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Succ(x63)))))))) 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_primModNatS01(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(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero))), Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))))) We simplified constraint (10) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x61, x60, x59, x58)=Succ(x53) which results in the following new constraints: (14) (new_primModNatS02(x76, x75)=Succ(x53) & Succ(Succ(Succ(Zero)))=x76 & Succ(Succ(Succ(Zero)))=x75 ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(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)))))))) (15) (new_primModNatS01(x80, x79, x78, x77)=Succ(x53) & Succ(Succ(Succ(Succ(x78))))=x80 & Succ(Succ(Succ(Succ(x77))))=x79 & (\/x81:new_primModNatS01(x80, x79, x78, x77)=Succ(x81) & Succ(Succ(Succ(x78)))=x80 & Succ(Succ(Succ(x77)))=x79 ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(x78)))))), Neg(Succ(Succ(Succ(Succ(Succ(x77)))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(Succ(x78))), Succ(Succ(Succ(x77))), Succ(x78), Succ(x77)))), Neg(Succ(Succ(Succ(Succ(Succ(x77)))))), Neg(Succ(Succ(Succ(Succ(Succ(x78)))))))) ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(Succ(x78))))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x77))))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(Succ(Succ(x78)))), Succ(Succ(Succ(Succ(x77)))), Succ(Succ(x78)), Succ(Succ(x77))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x77))))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x78))))))))) (16) (new_primModNatS02(x84, x83)=Succ(x53) & Succ(Succ(Succ(Succ(x82))))=x84 & Succ(Succ(Succ(Zero)))=x83 ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(Succ(x82))))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(Succ(Succ(x82)))), Succ(Succ(Succ(Zero))), Succ(Succ(x82)), Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x82))))))))) (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_primModNatS01(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(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(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 (15) using rules (III), (IV) which results in the following new constraint: (19) (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(Succ(x78))))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x77))))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(Succ(Succ(x78)))), Succ(Succ(Succ(Succ(x77)))), Succ(Succ(x78)), Succ(Succ(x77))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x77))))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x78))))))))) 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(x82))))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(Succ(Succ(x82)))), Succ(Succ(Succ(Zero))), Succ(Succ(x82)), Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x82))))))))) 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_primModNatS01(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(Succ(x63)))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(Succ(x63))), Succ(Succ(Zero)), Succ(x63), Zero))), Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Succ(x63)))))))) 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_primModNatS01(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_primModNatS01(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_primModNatS01(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(Zero))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero)))) *(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_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero))))) *(new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Succ(Succ(x35))))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x36))))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(Succ(x35))))))), Neg(new_primModNatS01(Succ(Succ(Succ(Succ(x36)))), Succ(Succ(Succ(Succ(x35)))), Succ(Succ(x36)), Succ(Succ(x35)))))) *(new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x40))))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(new_primModNatS01(Succ(Succ(Succ(Succ(x40)))), Succ(Succ(Succ(Zero))), Succ(Succ(x40)), Succ(Zero))))) *(new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Succ(x21)))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(new_primModNatS01(Succ(Succ(Succ(x21))), Succ(Succ(Zero)), Succ(x21), Zero)))) *new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(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_primModNatS01(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_primModNatS01(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(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero))), Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))))) *(new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(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(Succ(Succ(x78))))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x77))))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(Succ(Succ(x78)))), Succ(Succ(Succ(Succ(x77)))), Succ(Succ(x78)), Succ(Succ(x77))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x77))))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x78))))))))) *(new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(Succ(x82))))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(Succ(Succ(x82)))), Succ(Succ(Succ(Zero))), Succ(Succ(x82)), Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x82))))))))) *(new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(x63)))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(Succ(x63))), Succ(Succ(Zero)), Succ(x63), Zero))), Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Succ(x63)))))))) 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. ---------------------------------------- (213) 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_primModNatS01(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_primModNatS01(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(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_esEs(Neg(Succ(vuz2500))) -> False new_esEs(Neg(Zero)) -> True The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Pos(Succ(x0))) new_primModNatS01(x0, x1, Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_esEs(Neg(Succ(x0))) new_primMinusNatS0(Zero, Zero) new_primModNatS02(x0, x1) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (214) 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(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error new_error -> error([]) new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primModNatS1(Zero, vuz7400) -> Zero new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_esEs(Pos(Succ(vuz2500))) -> False new_esEs(Pos(Zero)) -> True new_esEs(Neg(Succ(vuz2500))) -> False new_esEs(Neg(Zero)) -> True The set Q consists of the following terms: new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_esEs(Pos(Succ(x0))) new_primModNatS01(x0, x1, Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_esEs(Neg(Succ(x0))) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primMinusNatS0(Zero, Zero) new_primModNatS02(x0, x1) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (215) 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. ---------------------------------------- (216) 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(vuz74000)) -> Succ(Zero) new_primModNatS1(Zero, vuz7400) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) new_esEs(Pos(Succ(vuz2500))) -> False new_esEs(Pos(Zero)) -> True new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) The set Q consists of the following terms: new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_esEs(Pos(Succ(x0))) new_primModNatS01(x0, x1, Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_esEs(Neg(Succ(x0))) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primMinusNatS0(Zero, Zero) new_primModNatS02(x0, x1) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (217) 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(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primRemInt(Neg(x0), Neg(Zero)) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primRemInt(Neg(x0), Neg(Succ(x1))) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_primRemInt(Pos(x0), Pos(Succ(x1))) ---------------------------------------- (218) 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(vuz74000)) -> Succ(Zero) new_primModNatS1(Zero, vuz7400) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) new_esEs(Pos(Succ(vuz2500))) -> False new_esEs(Pos(Zero)) -> True new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Pos(Succ(x0))) new_primModNatS01(x0, x1, Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_esEs(Neg(Succ(x0))) new_primMinusNatS0(Zero, Zero) new_primModNatS02(x0, x1) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (219) 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(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero))),new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero)))) (new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero))),new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero)))) (new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Pos(new_primModNatS01(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_primModNatS01(x0, x1, x0, x1)))) ---------------------------------------- (220) 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(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero))) new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primModNatS1(Zero, vuz7400) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) new_esEs(Pos(Succ(vuz2500))) -> False new_esEs(Pos(Zero)) -> True new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Pos(Succ(x0))) new_primModNatS01(x0, x1, Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_esEs(Neg(Succ(x0))) new_primMinusNatS0(Zero, Zero) new_primModNatS02(x0, x1) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (221) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (222) 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_primMinusNatS0(Zero, Zero), Zero))) new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primModNatS1(Zero, vuz7400) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) new_esEs(Pos(Succ(vuz2500))) -> False new_esEs(Pos(Zero)) -> True new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Pos(Succ(x0))) new_primModNatS01(x0, x1, Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_esEs(Neg(Succ(x0))) new_primMinusNatS0(Zero, Zero) new_primModNatS02(x0, x1) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (223) 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_primMinusNatS0(Zero, Zero), 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)))) ---------------------------------------- (224) 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(Succ(x0), Zero), Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 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(vuz74000)) -> Succ(Zero) new_primModNatS1(Zero, vuz7400) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) new_esEs(Pos(Succ(vuz2500))) -> False new_esEs(Pos(Zero)) -> True new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Pos(Succ(x0))) new_primModNatS01(x0, x1, Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_esEs(Neg(Succ(x0))) new_primMinusNatS0(Zero, Zero) new_primModNatS02(x0, x1) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (225) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (226) 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(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primModNatS1(Zero, vuz7400) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) new_esEs(Pos(Succ(vuz2500))) -> False new_esEs(Pos(Zero)) -> True new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Pos(Succ(x0))) new_primModNatS01(x0, x1, Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_esEs(Neg(Succ(x0))) new_primMinusNatS0(Zero, Zero) new_primModNatS02(x0, x1) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (227) 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(Succ(x0), Zero), 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)))) ---------------------------------------- (228) 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_primModNatS01(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(vuz74000)) -> Succ(Zero) new_primModNatS1(Zero, vuz7400) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) new_esEs(Pos(Succ(vuz2500))) -> False new_esEs(Pos(Zero)) -> True new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Pos(Succ(x0))) new_primModNatS01(x0, x1, Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_esEs(Neg(Succ(x0))) new_primMinusNatS0(Zero, Zero) new_primModNatS02(x0, x1) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (229) 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(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS0(Zero, Zero), 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_primMinusNatS0(Zero, Zero), Zero))), Pos(Succ(Zero)), Pos(Succ(Zero)))) (new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), 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(Succ(x0), Zero), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(x0))))) (new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(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_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0))))) ---------------------------------------- (230) 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_primModNatS01(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(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero))), Pos(Succ(Zero)), Pos(Succ(Zero))) new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(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(vuz74000)) -> Succ(Zero) new_primModNatS1(Zero, vuz7400) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) new_esEs(Pos(Succ(vuz2500))) -> False new_esEs(Pos(Zero)) -> True new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Pos(Succ(x0))) new_primModNatS01(x0, x1, Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_esEs(Neg(Succ(x0))) new_primMinusNatS0(Zero, Zero) new_primModNatS02(x0, x1) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (231) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 2 SCCs with 2 less nodes. ---------------------------------------- (232) Complex Obligation (AND) ---------------------------------------- (233) 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(Succ(x0), Zero), 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(vuz74000)) -> Succ(Zero) new_primModNatS1(Zero, vuz7400) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) new_esEs(Pos(Succ(vuz2500))) -> False new_esEs(Pos(Zero)) -> True new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Pos(Succ(x0))) new_primModNatS01(x0, x1, Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_esEs(Neg(Succ(x0))) new_primMinusNatS0(Zero, Zero) new_primModNatS02(x0, x1) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (234) 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. ---------------------------------------- (235) 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(Succ(x0), Zero), 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(vuz2500))) -> False new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_esEs(Pos(Zero)) -> True The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Pos(Succ(x0))) new_primModNatS01(x0, x1, Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_esEs(Neg(Succ(x0))) new_primMinusNatS0(Zero, Zero) new_primModNatS02(x0, x1) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (236) 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_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1) ---------------------------------------- (237) 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(Succ(x0), Zero), 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(vuz2500))) -> False new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_esEs(Pos(Zero)) -> True The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Pos(Succ(x0))) new_primMinusNatS0(Succ(x0), Zero) new_primMinusNatS0(Succ(x0), Succ(x1)) new_esEs(Neg(Succ(x0))) new_primMinusNatS0(Zero, Zero) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (238) 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(Succ(x0), Zero), 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))))) ---------------------------------------- (239) 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(vuz2500))) -> False new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_esEs(Pos(Zero)) -> True The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Pos(Succ(x0))) new_primMinusNatS0(Succ(x0), Zero) new_primMinusNatS0(Succ(x0), Succ(x1)) new_esEs(Neg(Succ(x0))) new_primMinusNatS0(Zero, Zero) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (240) 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)))) ---------------------------------------- (241) 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(vuz2500))) -> False new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_esEs(Pos(Zero)) -> True The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Pos(Succ(x0))) new_primMinusNatS0(Succ(x0), Zero) new_primMinusNatS0(Succ(x0), Succ(x1)) new_esEs(Neg(Succ(x0))) new_primMinusNatS0(Zero, Zero) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (242) 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(Succ(x0))))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero))),new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero)))) (new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero))),new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero)))) ---------------------------------------- (243) 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(Succ(x0), Zero), Zero))) new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero))) The TRS R consists of the following rules: new_esEs(Pos(Succ(vuz2500))) -> False new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_esEs(Pos(Zero)) -> True The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Pos(Succ(x0))) new_primMinusNatS0(Succ(x0), Zero) new_primMinusNatS0(Succ(x0), Succ(x1)) new_esEs(Neg(Succ(x0))) new_primMinusNatS0(Zero, Zero) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (244) 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(Succ(x0), Zero), 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)))) ---------------------------------------- (245) 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_primMinusNatS0(Zero, Zero), 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(vuz2500))) -> False new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_esEs(Pos(Zero)) -> True The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Pos(Succ(x0))) new_primMinusNatS0(Succ(x0), Zero) new_primMinusNatS0(Succ(x0), Succ(x1)) new_esEs(Neg(Succ(x0))) new_primMinusNatS0(Zero, Zero) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (246) 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_primMinusNatS0(Zero, Zero), 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)))) ---------------------------------------- (247) 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(Succ(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(vuz2500))) -> False new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_esEs(Pos(Zero)) -> True The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Pos(Succ(x0))) new_primMinusNatS0(Succ(x0), Zero) new_primMinusNatS0(Succ(x0), Succ(x1)) new_esEs(Neg(Succ(x0))) new_primMinusNatS0(Zero, Zero) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (248) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (249) 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(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'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(vuz2500))) -> False new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_esEs(Pos(Zero)) -> True The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Pos(Succ(x0))) new_primMinusNatS0(Succ(x0), Zero) new_primMinusNatS0(Succ(x0), Succ(x1)) new_esEs(Neg(Succ(x0))) new_primMinusNatS0(Zero, Zero) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (250) 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(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), 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(Succ(x0), Zero), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))))) (new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS0(Zero, Zero), 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_primMinusNatS0(Zero, Zero), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Zero))))) ---------------------------------------- (251) Obligation: Q DP problem: The TRS P consists of the following rules: 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'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(Succ(x0), Zero), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Zero)))) The TRS R consists of the following rules: new_esEs(Pos(Succ(vuz2500))) -> False new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_esEs(Pos(Zero)) -> True The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Pos(Succ(x0))) new_primMinusNatS0(Succ(x0), Zero) new_primMinusNatS0(Succ(x0), Succ(x1)) new_esEs(Neg(Succ(x0))) new_primMinusNatS0(Zero, Zero) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (252) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (253) 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'0(Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), 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))) The TRS R consists of the following rules: new_esEs(Pos(Succ(vuz2500))) -> False new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_esEs(Pos(Zero)) -> True The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Pos(Succ(x0))) new_primMinusNatS0(Succ(x0), Zero) new_primMinusNatS0(Succ(x0), Succ(x1)) new_esEs(Neg(Succ(x0))) new_primMinusNatS0(Zero, Zero) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (254) 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(Succ(x0), Zero), 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)))))) ---------------------------------------- (255) 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(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(vuz2500))) -> False new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_esEs(Pos(Zero)) -> True The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Pos(Succ(x0))) new_primMinusNatS0(Succ(x0), Zero) new_primMinusNatS0(Succ(x0), Succ(x1)) new_esEs(Neg(Succ(x0))) new_primMinusNatS0(Zero, Zero) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (256) 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(Succ(x0)))))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), 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(Succ(x0), Zero), Zero)))) (new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero))),new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero)))) ---------------------------------------- (257) 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'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(Succ(x0), Zero), Zero))) new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero))) The TRS R consists of the following rules: new_esEs(Pos(Succ(vuz2500))) -> False new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_esEs(Pos(Zero)) -> True The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Pos(Succ(x0))) new_primMinusNatS0(Succ(x0), Zero) new_primMinusNatS0(Succ(x0), Succ(x1)) new_esEs(Neg(Succ(x0))) new_primMinusNatS0(Zero, Zero) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (258) 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(Succ(x0), Zero), 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)))) ---------------------------------------- (259) 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'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_primMinusNatS0(Zero, Zero), 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(vuz2500))) -> False new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_esEs(Pos(Zero)) -> True The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Pos(Succ(x0))) new_primMinusNatS0(Succ(x0), Zero) new_primMinusNatS0(Succ(x0), Succ(x1)) new_esEs(Neg(Succ(x0))) new_primMinusNatS0(Zero, Zero) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (260) 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_primMinusNatS0(Zero, Zero), 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)))) ---------------------------------------- (261) 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'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(Succ(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(vuz2500))) -> False new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_esEs(Pos(Zero)) -> True The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Pos(Succ(x0))) new_primMinusNatS0(Succ(x0), Zero) new_primMinusNatS0(Succ(x0), Succ(x1)) new_esEs(Neg(Succ(x0))) new_primMinusNatS0(Zero, Zero) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (262) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (263) 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(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(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(vuz2500))) -> False new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_esEs(Pos(Zero)) -> True The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Pos(Succ(x0))) new_primMinusNatS0(Succ(x0), Zero) new_primMinusNatS0(Succ(x0), Succ(x1)) new_esEs(Neg(Succ(x0))) new_primMinusNatS0(Zero, Zero) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (264) 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(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), 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(Succ(x0), Zero), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))))) (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS0(Zero, Zero), 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_primMinusNatS0(Zero, Zero), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Zero)))))) ---------------------------------------- (265) 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(new_primMinusNatS0(Succ(x0), Zero), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Zero))))) The TRS R consists of the following rules: new_esEs(Pos(Succ(vuz2500))) -> False new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_esEs(Pos(Zero)) -> True The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Pos(Succ(x0))) new_primMinusNatS0(Succ(x0), Zero) new_primMinusNatS0(Succ(x0), Succ(x1)) new_esEs(Neg(Succ(x0))) new_primMinusNatS0(Zero, Zero) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (266) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (267) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), 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))) 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(vuz2500))) -> False new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_esEs(Pos(Zero)) -> True The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Pos(Succ(x0))) new_primMinusNatS0(Succ(x0), Zero) new_primMinusNatS0(Succ(x0), Succ(x1)) new_esEs(Neg(Succ(x0))) new_primMinusNatS0(Zero, Zero) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (268) 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(Succ(x0), Zero), 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))))))) ---------------------------------------- (269) Obligation: Q DP problem: The TRS P consists of the following rules: 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'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(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) The TRS R consists of the following rules: new_esEs(Pos(Succ(vuz2500))) -> False new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_esEs(Pos(Zero)) -> True The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Pos(Succ(x0))) new_primMinusNatS0(Succ(x0), Zero) new_primMinusNatS0(Succ(x0), Succ(x1)) new_esEs(Neg(Succ(x0))) new_primMinusNatS0(Zero, Zero) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (270) 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, x_2)) = x_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(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'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'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, vuz7400) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) ---------------------------------------- (271) YES ---------------------------------------- (272) 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_primModNatS01(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_primModNatS01(x0, x1, x0, x1))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primModNatS1(Zero, vuz7400) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) new_esEs(Pos(Succ(vuz2500))) -> False new_esEs(Pos(Zero)) -> True new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Pos(Succ(x0))) new_primModNatS01(x0, x1, Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_esEs(Neg(Succ(x0))) new_primMinusNatS0(Zero, Zero) new_primModNatS02(x0, x1) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (273) 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. ---------------------------------------- (274) 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_primModNatS01(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_primModNatS01(x0, x1, x0, x1))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_esEs(Pos(Succ(vuz2500))) -> False new_esEs(Pos(Zero)) -> True The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Pos(Succ(x0))) new_primModNatS01(x0, x1, Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_esEs(Neg(Succ(x0))) new_primMinusNatS0(Zero, Zero) new_primModNatS02(x0, x1) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (275) 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_primModNatS01(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(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(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_primModNatS02(Zero, Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))))) (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(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_primModNatS01(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_primModNatS02(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_primModNatS02(Succ(x2), 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(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))))) ---------------------------------------- (276) 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_primModNatS01(x0, x1, x0, x1))) new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(Zero, Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(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_primModNatS02(Succ(x2), 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(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(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_esEs(Pos(Succ(vuz2500))) -> False new_esEs(Pos(Zero)) -> True The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Pos(Succ(x0))) new_primModNatS01(x0, x1, Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_esEs(Neg(Succ(x0))) new_primMinusNatS0(Zero, Zero) new_primModNatS02(x0, x1) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (277) 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_primModNatS02(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_primMinusNatS0(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_primMinusNatS0(Succ(Zero), Succ(Zero)), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))))) ---------------------------------------- (278) 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_primModNatS01(x0, x1, x0, x1))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(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_primModNatS02(Succ(x2), 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(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(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS0(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(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_esEs(Pos(Succ(vuz2500))) -> False new_esEs(Pos(Zero)) -> True The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Pos(Succ(x0))) new_primModNatS01(x0, x1, Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_esEs(Neg(Succ(x0))) new_primMinusNatS0(Zero, Zero) new_primModNatS02(x0, x1) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (279) 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_primModNatS02(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_primMinusNatS0(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_primMinusNatS0(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))))) ---------------------------------------- (280) 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_primModNatS01(x0, x1, x0, x1))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(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(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS0(Succ(Zero), Succ(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(new_primMinusNatS0(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(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_esEs(Pos(Succ(vuz2500))) -> False new_esEs(Pos(Zero)) -> True The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Pos(Succ(x0))) new_primModNatS01(x0, x1, Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_esEs(Neg(Succ(x0))) new_primMinusNatS0(Zero, Zero) new_primModNatS02(x0, x1) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (281) 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))))) ---------------------------------------- (282) 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_primModNatS01(x0, x1, x0, x1))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(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_primMinusNatS0(Succ(Zero), Succ(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(new_primMinusNatS0(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(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(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_esEs(Pos(Succ(vuz2500))) -> False new_esEs(Pos(Zero)) -> True The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Pos(Succ(x0))) new_primModNatS01(x0, x1, Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_esEs(Neg(Succ(x0))) new_primMinusNatS0(Zero, Zero) new_primModNatS02(x0, x1) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (283) 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_primMinusNatS0(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_primMinusNatS0(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_primMinusNatS0(Zero, Zero), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))))) ---------------------------------------- (284) 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_primModNatS01(x0, x1, x0, x1))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(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_primMinusNatS0(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(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_primMinusNatS0(Zero, Zero), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_esEs(Pos(Succ(vuz2500))) -> False new_esEs(Pos(Zero)) -> True The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Pos(Succ(x0))) new_primModNatS01(x0, x1, Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_esEs(Neg(Succ(x0))) new_primMinusNatS0(Zero, Zero) new_primModNatS02(x0, x1) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (285) 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_primMinusNatS0(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_primMinusNatS0(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_primMinusNatS0(Succ(x2), Zero), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))))) ---------------------------------------- (286) 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_primModNatS01(x0, x1, x0, x1))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(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_primMinusNatS0(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(new_primMinusNatS0(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(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_esEs(Pos(Succ(vuz2500))) -> False new_esEs(Pos(Zero)) -> True The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Pos(Succ(x0))) new_primModNatS01(x0, x1, Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_esEs(Neg(Succ(x0))) new_primMinusNatS0(Zero, Zero) new_primModNatS02(x0, x1) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (287) 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_primMinusNatS0(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))))) ---------------------------------------- (288) 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_primModNatS01(x0, x1, x0, x1))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(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_primMinusNatS0(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(Zero, Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_esEs(Pos(Succ(vuz2500))) -> False new_esEs(Pos(Zero)) -> True The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Pos(Succ(x0))) new_primModNatS01(x0, x1, Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_esEs(Neg(Succ(x0))) new_primMinusNatS0(Zero, Zero) new_primModNatS02(x0, x1) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (289) 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_primMinusNatS0(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)))))) ---------------------------------------- (290) 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_primModNatS01(x0, x1, x0, x1))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(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(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(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_esEs(Pos(Succ(vuz2500))) -> False new_esEs(Pos(Zero)) -> True The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Pos(Succ(x0))) new_primModNatS01(x0, x1, Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_esEs(Neg(Succ(x0))) new_primMinusNatS0(Zero, Zero) new_primModNatS02(x0, x1) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (291) 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))))) ---------------------------------------- (292) 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_primModNatS01(x0, x1, x0, x1))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(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(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_esEs(Pos(Succ(vuz2500))) -> False new_esEs(Pos(Zero)) -> True The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Pos(Succ(x0))) new_primModNatS01(x0, x1, Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_esEs(Neg(Succ(x0))) new_primMinusNatS0(Zero, Zero) new_primModNatS02(x0, x1) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (293) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (294) 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_primModNatS01(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_primModNatS01(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(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_esEs(Pos(Succ(vuz2500))) -> False new_esEs(Pos(Zero)) -> True The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Pos(Succ(x0))) new_primModNatS01(x0, x1, Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_esEs(Neg(Succ(x0))) new_primMinusNatS0(Zero, Zero) new_primModNatS02(x0, x1) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (295) 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_primModNatS01(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(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(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_primModNatS02(Succ(Zero), 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(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(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_primModNatS01(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_primModNatS02(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_primModNatS02(Succ(Succ(x2)), 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(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)))))) ---------------------------------------- (296) 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_primModNatS01(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(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(Succ(Zero), 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(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(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_primModNatS02(Succ(Succ(x2)), 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(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(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_esEs(Pos(Succ(vuz2500))) -> False new_esEs(Pos(Zero)) -> True The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Pos(Succ(x0))) new_primModNatS01(x0, x1, Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_esEs(Neg(Succ(x0))) new_primMinusNatS0(Zero, Zero) new_primModNatS02(x0, x1) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (297) 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_primModNatS02(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_primMinusNatS0(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_primMinusNatS0(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))))) ---------------------------------------- (298) 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_primModNatS01(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_primModNatS01(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_primModNatS02(Succ(Succ(x2)), 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(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(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS0(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(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_esEs(Pos(Succ(vuz2500))) -> False new_esEs(Pos(Zero)) -> True The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Pos(Succ(x0))) new_primModNatS01(x0, x1, Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_esEs(Neg(Succ(x0))) new_primMinusNatS0(Zero, Zero) new_primModNatS02(x0, x1) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (299) 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_primModNatS02(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_primMinusNatS0(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_primMinusNatS0(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))))) ---------------------------------------- (300) 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_primModNatS01(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_primModNatS01(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(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS0(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(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS0(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(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_esEs(Pos(Succ(vuz2500))) -> False new_esEs(Pos(Zero)) -> True The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Pos(Succ(x0))) new_primModNatS01(x0, x1, Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_esEs(Neg(Succ(x0))) new_primMinusNatS0(Zero, Zero) new_primModNatS02(x0, x1) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (301) 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)))))) ---------------------------------------- (302) 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_primModNatS01(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_primModNatS01(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_primMinusNatS0(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(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS0(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(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(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_esEs(Pos(Succ(vuz2500))) -> False new_esEs(Pos(Zero)) -> True The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Pos(Succ(x0))) new_primModNatS01(x0, x1, Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_esEs(Neg(Succ(x0))) new_primMinusNatS0(Zero, Zero) new_primModNatS02(x0, x1) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (303) 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_primMinusNatS0(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_primMinusNatS0(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_primMinusNatS0(Succ(Zero), Succ(Zero)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))))) ---------------------------------------- (304) 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_primModNatS01(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_primModNatS01(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_primMinusNatS0(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(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_primMinusNatS0(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(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_esEs(Pos(Succ(vuz2500))) -> False new_esEs(Pos(Zero)) -> True The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Pos(Succ(x0))) new_primModNatS01(x0, x1, Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_esEs(Neg(Succ(x0))) new_primMinusNatS0(Zero, Zero) new_primModNatS02(x0, x1) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (305) 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_primMinusNatS0(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_primMinusNatS0(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_primMinusNatS0(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))))) ---------------------------------------- (306) 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_primModNatS01(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_primModNatS01(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_primMinusNatS0(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_primMinusNatS0(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(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_esEs(Pos(Succ(vuz2500))) -> False new_esEs(Pos(Zero)) -> True The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Pos(Succ(x0))) new_primModNatS01(x0, x1, Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_esEs(Neg(Succ(x0))) new_primMinusNatS0(Zero, Zero) new_primModNatS02(x0, x1) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (307) 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_primMinusNatS0(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_primMinusNatS0(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_primMinusNatS0(Zero, Zero), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))))) ---------------------------------------- (308) 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_primModNatS01(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_primModNatS01(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_primMinusNatS0(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_primMinusNatS0(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(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_esEs(Pos(Succ(vuz2500))) -> False new_esEs(Pos(Zero)) -> True The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Pos(Succ(x0))) new_primModNatS01(x0, x1, Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_esEs(Neg(Succ(x0))) new_primMinusNatS0(Zero, Zero) new_primModNatS02(x0, x1) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (309) 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_primMinusNatS0(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_primMinusNatS0(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_primMinusNatS0(Succ(x2), Zero), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))))) ---------------------------------------- (310) 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_primModNatS01(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_primModNatS01(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_primMinusNatS0(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(new_primMinusNatS0(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(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_esEs(Pos(Succ(vuz2500))) -> False new_esEs(Pos(Zero)) -> True The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Pos(Succ(x0))) new_primModNatS01(x0, x1, Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_esEs(Neg(Succ(x0))) new_primMinusNatS0(Zero, Zero) new_primModNatS02(x0, x1) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (311) 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_primMinusNatS0(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)))))) ---------------------------------------- (312) 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_primModNatS01(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_primModNatS01(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_primMinusNatS0(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(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(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_esEs(Pos(Succ(vuz2500))) -> False new_esEs(Pos(Zero)) -> True The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Pos(Succ(x0))) new_primModNatS01(x0, x1, Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_esEs(Neg(Succ(x0))) new_primMinusNatS0(Zero, Zero) new_primModNatS02(x0, x1) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (313) 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_primMinusNatS0(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))))))) ---------------------------------------- (314) 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_primModNatS01(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_primModNatS01(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(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(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_esEs(Pos(Succ(vuz2500))) -> False new_esEs(Pos(Zero)) -> True The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Pos(Succ(x0))) new_primModNatS01(x0, x1, Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_esEs(Neg(Succ(x0))) new_primMinusNatS0(Zero, Zero) new_primModNatS02(x0, x1) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (315) 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)))))) ---------------------------------------- (316) 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_primModNatS01(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_primModNatS01(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(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_esEs(Pos(Succ(vuz2500))) -> False new_esEs(Pos(Zero)) -> True The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Pos(Succ(x0))) new_primModNatS01(x0, x1, Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_esEs(Neg(Succ(x0))) new_primMinusNatS0(Zero, Zero) new_primModNatS02(x0, x1) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (317) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (318) 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_primModNatS01(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_primModNatS01(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(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_esEs(Pos(Succ(vuz2500))) -> False new_esEs(Pos(Zero)) -> True The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Pos(Succ(x0))) new_primModNatS01(x0, x1, Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_esEs(Neg(Succ(x0))) new_primMinusNatS0(Zero, Zero) new_primModNatS02(x0, x1) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (319) 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_primModNatS01(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(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(Zero, Zero))),new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(Zero, 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_primModNatS01(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_primModNatS01(Succ(x2), Succ(x3), x2, x3)))) (new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(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_primModNatS02(Succ(x2), 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))))) ---------------------------------------- (320) 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_primModNatS01(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(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(Zero, 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_primModNatS01(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(Succ(x2), 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(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_esEs(Pos(Succ(vuz2500))) -> False new_esEs(Pos(Zero)) -> True The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Pos(Succ(x0))) new_primModNatS01(x0, x1, Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_esEs(Neg(Succ(x0))) new_primMinusNatS0(Zero, Zero) new_primModNatS02(x0, x1) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (321) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 2 SCCs with 1 less node. ---------------------------------------- (322) Complex Obligation (AND) ---------------------------------------- (323) 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_primModNatS02(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(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_esEs(Pos(Succ(vuz2500))) -> False new_esEs(Pos(Zero)) -> True The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Pos(Succ(x0))) new_primModNatS01(x0, x1, Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_esEs(Neg(Succ(x0))) new_primMinusNatS0(Zero, Zero) new_primModNatS02(x0, x1) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (324) 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_primModNatS02(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_primMinusNatS0(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_primMinusNatS0(Succ(Succ(x2)), Succ(Zero)), Succ(Zero))))) ---------------------------------------- (325) 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_primMinusNatS0(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_esEs(Pos(Succ(vuz2500))) -> False new_esEs(Pos(Zero)) -> True The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Pos(Succ(x0))) new_primModNatS01(x0, x1, Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_esEs(Neg(Succ(x0))) new_primMinusNatS0(Zero, Zero) new_primModNatS02(x0, x1) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (326) 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_primMinusNatS0(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_primMinusNatS0(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_primMinusNatS0(Succ(x2), Zero), Succ(Zero))))) ---------------------------------------- (327) 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_primMinusNatS0(Succ(x2), Zero), Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_esEs(Pos(Succ(vuz2500))) -> False new_esEs(Pos(Zero)) -> True The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Pos(Succ(x0))) new_primModNatS01(x0, x1, Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_esEs(Neg(Succ(x0))) new_primMinusNatS0(Zero, Zero) new_primModNatS02(x0, x1) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (328) 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_primMinusNatS0(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))))) ---------------------------------------- (329) 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(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_esEs(Pos(Succ(vuz2500))) -> False new_esEs(Pos(Zero)) -> True The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Pos(Succ(x0))) new_primModNatS01(x0, x1, Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_esEs(Neg(Succ(x0))) new_primMinusNatS0(Zero, Zero) new_primModNatS02(x0, x1) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (330) 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_primModNatS01(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_primModNatS01(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)))))) ---------------------------------------- (331) 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_primModNatS01(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(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_esEs(Pos(Succ(vuz2500))) -> False new_esEs(Pos(Zero)) -> True The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Pos(Succ(x0))) new_primModNatS01(x0, x1, Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_esEs(Neg(Succ(x0))) new_primMinusNatS0(Zero, Zero) new_primModNatS02(x0, x1) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (332) 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)))))) ---------------------------------------- (333) 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_primModNatS01(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(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_esEs(Pos(Succ(vuz2500))) -> False new_esEs(Pos(Zero)) -> True The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Pos(Succ(x0))) new_primModNatS01(x0, x1, Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_esEs(Neg(Succ(x0))) new_primMinusNatS0(Zero, Zero) new_primModNatS02(x0, x1) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (334) 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_primModNatS01(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_primModNatS01(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)))) ---------------------------------------- (335) 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_primModNatS01(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_primModNatS01(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(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_esEs(Pos(Succ(vuz2500))) -> False new_esEs(Pos(Zero)) -> True The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Pos(Succ(x0))) new_primModNatS01(x0, x1, Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_esEs(Neg(Succ(x0))) new_primMinusNatS0(Zero, Zero) new_primModNatS02(x0, x1) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (336) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 2 less nodes. ---------------------------------------- (337) 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_primModNatS01(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_primModNatS01(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(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_esEs(Pos(Succ(vuz2500))) -> False new_esEs(Pos(Zero)) -> True The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Pos(Succ(x0))) new_primModNatS01(x0, x1, Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_esEs(Neg(Succ(x0))) new_primMinusNatS0(Zero, Zero) new_primModNatS02(x0, x1) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (338) 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_primModNatS01(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)) = 1 + 2*x_1 POL(Succ(x_1)) = 1 + x_1 POL(True) = 3 POL(Zero) = 2 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_primMinusNatS0(x_1, x_2)) = x_1 POL(new_primModNatS01(x_1, x_2, x_3, x_4)) = 2 + x_1 POL(new_primModNatS02(x_1, x_2)) = 2 + x_1 POL(new_primModNatS1(x_1, x_2)) = x_1 The following usable rules [FROCOS05] with respect to the argument filtering of the ordering [JAR06] were oriented: new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) ---------------------------------------- (339) 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_primModNatS01(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(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_esEs(Pos(Succ(vuz2500))) -> False new_esEs(Pos(Zero)) -> True The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Pos(Succ(x0))) new_primModNatS01(x0, x1, Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_esEs(Neg(Succ(x0))) new_primMinusNatS0(Zero, Zero) new_primModNatS02(x0, x1) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (340) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 0 SCCs with 3 less nodes. ---------------------------------------- (341) TRUE ---------------------------------------- (342) 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_primModNatS01(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_primModNatS01(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(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_esEs(Pos(Succ(vuz2500))) -> False new_esEs(Pos(Zero)) -> True The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Pos(Succ(x0))) new_primModNatS01(x0, x1, Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_esEs(Neg(Succ(x0))) new_primMinusNatS0(Zero, Zero) new_primModNatS02(x0, x1) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (343) 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_primModNatS01(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(Zero))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(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_primModNatS02(Succ(Zero), 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_primModNatS01(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_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)))) (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_primModNatS02(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_primModNatS02(Succ(Succ(x2)), 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)))))) ---------------------------------------- (344) 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_primModNatS01(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(Zero))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Zero), 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_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 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_primModNatS02(Succ(Succ(x2)), 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(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_esEs(Pos(Succ(vuz2500))) -> False new_esEs(Pos(Zero)) -> True The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Pos(Succ(x0))) new_primModNatS01(x0, x1, Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_esEs(Neg(Succ(x0))) new_primMinusNatS0(Zero, Zero) new_primModNatS02(x0, x1) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (345) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 2 SCCs with 1 less node. ---------------------------------------- (346) Complex Obligation (AND) ---------------------------------------- (347) 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_primModNatS02(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(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_esEs(Pos(Succ(vuz2500))) -> False new_esEs(Pos(Zero)) -> True The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Pos(Succ(x0))) new_primModNatS01(x0, x1, Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_esEs(Neg(Succ(x0))) new_primMinusNatS0(Zero, Zero) new_primModNatS02(x0, x1) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (348) 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_primModNatS02(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_primMinusNatS0(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_primMinusNatS0(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero)))))) ---------------------------------------- (349) 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_primMinusNatS0(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_esEs(Pos(Succ(vuz2500))) -> False new_esEs(Pos(Zero)) -> True The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Pos(Succ(x0))) new_primModNatS01(x0, x1, Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_esEs(Neg(Succ(x0))) new_primMinusNatS0(Zero, Zero) new_primModNatS02(x0, x1) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (350) 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_primMinusNatS0(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_primMinusNatS0(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_primMinusNatS0(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero)))))) ---------------------------------------- (351) 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_primMinusNatS0(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_esEs(Pos(Succ(vuz2500))) -> False new_esEs(Pos(Zero)) -> True The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Pos(Succ(x0))) new_primModNatS01(x0, x1, Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_esEs(Neg(Succ(x0))) new_primMinusNatS0(Zero, Zero) new_primModNatS02(x0, x1) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (352) 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_primMinusNatS0(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_primMinusNatS0(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_primMinusNatS0(Succ(x2), Zero), Succ(Succ(Zero)))))) ---------------------------------------- (353) 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_primMinusNatS0(Succ(x2), Zero), Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_esEs(Pos(Succ(vuz2500))) -> False new_esEs(Pos(Zero)) -> True The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Pos(Succ(x0))) new_primModNatS01(x0, x1, Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_esEs(Neg(Succ(x0))) new_primMinusNatS0(Zero, Zero) new_primModNatS02(x0, x1) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (354) 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_primMinusNatS0(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)))))) ---------------------------------------- (355) 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(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_esEs(Pos(Succ(vuz2500))) -> False new_esEs(Pos(Zero)) -> True The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Pos(Succ(x0))) new_primModNatS01(x0, x1, Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_esEs(Neg(Succ(x0))) new_primMinusNatS0(Zero, Zero) new_primModNatS02(x0, x1) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (356) 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(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 remaining pairs can at least be oriented weakly. Used ordering: Polynomial interpretation [POLO]: POL(False) = 0 POL(Pos(x_1)) = 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)) = x_1 + x_2 POL(new_gcd0Gcd'1(x_1, x_2, x_3)) = x_2 + x_3 POL(new_primMinusNatS0(x_1, x_2)) = x_1 POL(new_primModNatS01(x_1, x_2, x_3, x_4)) = 2 + x_1 POL(new_primModNatS02(x_1, x_2)) = 2 + 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_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) ---------------------------------------- (357) 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))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_esEs(Pos(Succ(vuz2500))) -> False new_esEs(Pos(Zero)) -> True The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Pos(Succ(x0))) new_primModNatS01(x0, x1, Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_esEs(Neg(Succ(x0))) new_primMinusNatS0(Zero, Zero) new_primModNatS02(x0, x1) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (358) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 0 SCCs with 3 less nodes. ---------------------------------------- (359) TRUE ---------------------------------------- (360) 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_primModNatS01(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_primModNatS01(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(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_esEs(Pos(Succ(vuz2500))) -> False new_esEs(Pos(Zero)) -> True The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Pos(Succ(x0))) new_primModNatS01(x0, x1, Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_esEs(Neg(Succ(x0))) new_primMinusNatS0(Zero, Zero) new_primModNatS02(x0, x1) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (361) 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)) ---------------------------------------- (362) 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_primModNatS01(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_primModNatS01(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(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_esEs(Pos(Succ(vuz2500))) -> False new_esEs(Pos(Zero)) -> True The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Pos(Succ(x0))) new_primModNatS01(x0, x1, Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primMinusNatS0(Zero, Zero) new_primModNatS02(x0, x1) new_primModNatS1(Zero, x0) We have to consider all (P,Q,R)-chains. ---------------------------------------- (363) 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_primModNatS01(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_primModNatS01(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_primModNatS01(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_primModNatS01(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_primModNatS01(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_primModNatS01(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_primModNatS01(Succ(Succ(x3)), Succ(Succ(x2)), x3, x2)))) We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x12, x13, x3, x2)=Succ(Succ(Succ(Succ(x5)))) which results in the following new constraints: (3) (new_primModNatS02(x15, x14)=Succ(Succ(Succ(Succ(x5)))) & Succ(Succ(Zero))=x15 & Succ(Succ(Zero))=x14 ==> 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_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero)))) (4) (new_primModNatS01(x19, x18, x17, x16)=Succ(Succ(Succ(Succ(x5)))) & Succ(Succ(Succ(x17)))=x19 & Succ(Succ(Succ(x16)))=x18 & (\/x20:new_primModNatS01(x19, x18, x17, x16)=Succ(Succ(Succ(Succ(x20)))) & Succ(Succ(x17))=x19 & Succ(Succ(x16))=x18 ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x16))))), Pos(Succ(Succ(Succ(Succ(x17))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x16))))), Pos(new_primModNatS01(Succ(Succ(x17)), Succ(Succ(x16)), x17, x16)))) ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Succ(x16)))))), Pos(Succ(Succ(Succ(Succ(Succ(x17)))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(x16)))))), Pos(new_primModNatS01(Succ(Succ(Succ(x17))), Succ(Succ(Succ(x16))), Succ(x17), Succ(x16))))) (5) (new_primModNatS02(x23, x22)=Succ(Succ(Succ(Succ(x5)))) & Succ(Succ(Succ(x21)))=x23 & Succ(Succ(Zero))=x22 ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Succ(x21)))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(new_primModNatS01(Succ(Succ(Succ(x21))), Succ(Succ(Zero)), Succ(x21), 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_primModNatS01(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_primModNatS02(x15, x14)=Succ(Succ(Succ(Succ(x5)))) which results in the following new constraint: (7) (new_primModNatS1(new_primMinusNatS0(Succ(x28), Succ(x27)), Succ(x27))=Succ(Succ(Succ(Succ(x5)))) & Succ(Succ(Zero))=x28 & Succ(Succ(Zero))=x27 ==> 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_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero)))) We simplified constraint (4) using rule (IV) which results in the following new constraint: (8) (new_primModNatS01(x19, x18, x17, x16)=Succ(Succ(Succ(Succ(x5)))) & Succ(Succ(Succ(x17)))=x19 & Succ(Succ(Succ(x16)))=x18 ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Succ(x16)))))), Pos(Succ(Succ(Succ(Succ(Succ(x17)))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(x16)))))), Pos(new_primModNatS01(Succ(Succ(Succ(x17))), Succ(Succ(Succ(x16))), Succ(x17), Succ(x16))))) We simplified constraint (5) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x23, x22)=Succ(Succ(Succ(Succ(x5)))) which results in the following new constraint: (9) (new_primModNatS1(new_primMinusNatS0(Succ(x47), Succ(x46)), Succ(x46))=Succ(Succ(Succ(Succ(x5)))) & Succ(Succ(Succ(x21)))=x47 & Succ(Succ(Zero))=x46 ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Succ(x21)))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(new_primModNatS01(Succ(Succ(Succ(x21))), Succ(Succ(Zero)), Succ(x21), 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_primModNatS01(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(Zero))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero)))) We simplified constraint (8) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x19, x18, x17, x16)=Succ(Succ(Succ(Succ(x5)))) which results in the following new constraints: (12) (new_primModNatS02(x34, x33)=Succ(Succ(Succ(Succ(x5)))) & Succ(Succ(Succ(Zero)))=x34 & Succ(Succ(Succ(Zero)))=x33 ==> 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_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero))))) (13) (new_primModNatS01(x38, x37, x36, x35)=Succ(Succ(Succ(Succ(x5)))) & Succ(Succ(Succ(Succ(x36))))=x38 & Succ(Succ(Succ(Succ(x35))))=x37 & (\/x39:new_primModNatS01(x38, x37, x36, x35)=Succ(Succ(Succ(Succ(x39)))) & Succ(Succ(Succ(x36)))=x38 & Succ(Succ(Succ(x35)))=x37 ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Succ(x35)))))), Pos(Succ(Succ(Succ(Succ(Succ(x36)))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(x35)))))), Pos(new_primModNatS01(Succ(Succ(Succ(x36))), Succ(Succ(Succ(x35))), Succ(x36), Succ(x35))))) ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Succ(Succ(x35))))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x36))))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(Succ(x35))))))), Pos(new_primModNatS01(Succ(Succ(Succ(Succ(x36)))), Succ(Succ(Succ(Succ(x35)))), Succ(Succ(x36)), Succ(Succ(x35)))))) (14) (new_primModNatS02(x42, x41)=Succ(Succ(Succ(Succ(x5)))) & Succ(Succ(Succ(Succ(x40))))=x42 & Succ(Succ(Succ(Zero)))=x41 ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x40))))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(new_primModNatS01(Succ(Succ(Succ(Succ(x40)))), Succ(Succ(Succ(Zero))), Succ(Succ(x40)), 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_primModNatS01(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(Zero)))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(new_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), 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(x35))))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x36))))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(Succ(x35))))))), Pos(new_primModNatS01(Succ(Succ(Succ(Succ(x36)))), Succ(Succ(Succ(Succ(x35)))), Succ(Succ(x36)), Succ(Succ(x35)))))) 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(Succ(x40))))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(new_primModNatS01(Succ(Succ(Succ(Succ(x40)))), Succ(Succ(Succ(Zero))), Succ(Succ(x40)), 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_primModNatS01(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(Succ(x21)))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(new_primModNatS01(Succ(Succ(Succ(x21))), Succ(Succ(Zero)), Succ(x21), 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_primModNatS01(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_primModNatS01(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_primModNatS01(Succ(Succ(x9)), Succ(Succ(x8)), x9, x8))) which results in the following constraint: (1) (new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(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_primModNatS01(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_primModNatS01(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_primModNatS01(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_primModNatS01(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_primModNatS01(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_primModNatS01(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_primModNatS01(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_primModNatS01(x54, x55, x6, x7)=Succ(x53) which results in the following new constraints: (5) (new_primModNatS02(x57, x56)=Succ(x53) & Succ(Succ(Zero))=x57 & Succ(Succ(Zero))=x56 ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero))), Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))))) (6) (new_primModNatS01(x61, x60, x59, x58)=Succ(x53) & Succ(Succ(Succ(x59)))=x61 & Succ(Succ(Succ(x58)))=x60 & (\/x62:new_primModNatS01(x61, x60, x59, x58)=Succ(x62) & Succ(Succ(x59))=x61 & Succ(Succ(x58))=x60 ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x59))))), Pos(Succ(Succ(Succ(Succ(x58))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x59)), Succ(Succ(x58)), x59, x58))), Pos(Succ(Succ(Succ(Succ(x58))))), Pos(Succ(Succ(Succ(Succ(x59))))))) ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(x59)))))), Pos(Succ(Succ(Succ(Succ(Succ(x58)))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(Succ(x59))), Succ(Succ(Succ(x58))), Succ(x59), Succ(x58)))), Pos(Succ(Succ(Succ(Succ(Succ(x58)))))), Pos(Succ(Succ(Succ(Succ(Succ(x59)))))))) (7) (new_primModNatS02(x65, x64)=Succ(x53) & Succ(Succ(Succ(x63)))=x65 & Succ(Succ(Zero))=x64 ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(x63)))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(Succ(x63))), Succ(Succ(Zero)), Succ(x63), Zero))), Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Succ(x63)))))))) (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_primModNatS01(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_primModNatS02(x57, x56)=Succ(x53) which results in the following new constraint: (9) (new_primModNatS1(new_primMinusNatS0(Succ(x70), Succ(x69)), Succ(x69))=Succ(x53) & Succ(Succ(Zero))=x70 & Succ(Succ(Zero))=x69 ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero))), Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))))) We simplified constraint (6) using rule (IV) which results in the following new constraint: (10) (new_primModNatS01(x61, x60, x59, x58)=Succ(x53) & Succ(Succ(Succ(x59)))=x61 & Succ(Succ(Succ(x58)))=x60 ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(x59)))))), Pos(Succ(Succ(Succ(Succ(Succ(x58)))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(Succ(x59))), Succ(Succ(Succ(x58))), Succ(x59), Succ(x58)))), Pos(Succ(Succ(Succ(Succ(Succ(x58)))))), Pos(Succ(Succ(Succ(Succ(Succ(x59)))))))) We simplified constraint (7) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x65, x64)=Succ(x53) which results in the following new constraint: (11) (new_primModNatS1(new_primMinusNatS0(Succ(x89), Succ(x88)), Succ(x88))=Succ(x53) & Succ(Succ(Succ(x63)))=x89 & Succ(Succ(Zero))=x88 ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(x63)))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(Succ(x63))), Succ(Succ(Zero)), Succ(x63), Zero))), Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Succ(x63)))))))) 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_primModNatS01(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(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero))), Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))))) We simplified constraint (10) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x61, x60, x59, x58)=Succ(x53) which results in the following new constraints: (14) (new_primModNatS02(x76, x75)=Succ(x53) & Succ(Succ(Succ(Zero)))=x76 & Succ(Succ(Succ(Zero)))=x75 ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(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)))))))) (15) (new_primModNatS01(x80, x79, x78, x77)=Succ(x53) & Succ(Succ(Succ(Succ(x78))))=x80 & Succ(Succ(Succ(Succ(x77))))=x79 & (\/x81:new_primModNatS01(x80, x79, x78, x77)=Succ(x81) & Succ(Succ(Succ(x78)))=x80 & Succ(Succ(Succ(x77)))=x79 ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(x78)))))), Pos(Succ(Succ(Succ(Succ(Succ(x77)))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(Succ(x78))), Succ(Succ(Succ(x77))), Succ(x78), Succ(x77)))), Pos(Succ(Succ(Succ(Succ(Succ(x77)))))), Pos(Succ(Succ(Succ(Succ(Succ(x78)))))))) ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(Succ(x78))))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x77))))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(Succ(Succ(x78)))), Succ(Succ(Succ(Succ(x77)))), Succ(Succ(x78)), Succ(Succ(x77))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x77))))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x78))))))))) (16) (new_primModNatS02(x84, x83)=Succ(x53) & Succ(Succ(Succ(Succ(x82))))=x84 & Succ(Succ(Succ(Zero)))=x83 ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(Succ(x82))))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(Succ(Succ(x82)))), Succ(Succ(Succ(Zero))), Succ(Succ(x82)), Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x82))))))))) (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_primModNatS01(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(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(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 (15) using rules (III), (IV) which results in the following new constraint: (19) (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(Succ(x78))))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x77))))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(Succ(Succ(x78)))), Succ(Succ(Succ(Succ(x77)))), Succ(Succ(x78)), Succ(Succ(x77))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x77))))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x78))))))))) 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(x82))))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(Succ(Succ(x82)))), Succ(Succ(Succ(Zero))), Succ(Succ(x82)), Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x82))))))))) 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_primModNatS01(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(Succ(x63)))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(Succ(x63))), Succ(Succ(Zero)), Succ(x63), Zero))), Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Succ(x63)))))))) 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_primModNatS01(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_primModNatS01(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_primModNatS01(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(Zero))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero)))) *(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_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero))))) *(new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Succ(Succ(x35))))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x36))))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(Succ(x35))))))), Pos(new_primModNatS01(Succ(Succ(Succ(Succ(x36)))), Succ(Succ(Succ(Succ(x35)))), Succ(Succ(x36)), Succ(Succ(x35)))))) *(new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x40))))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(new_primModNatS01(Succ(Succ(Succ(Succ(x40)))), Succ(Succ(Succ(Zero))), Succ(Succ(x40)), Succ(Zero))))) *(new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Succ(x21)))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(new_primModNatS01(Succ(Succ(Succ(x21))), Succ(Succ(Zero)), Succ(x21), Zero)))) *new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(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_primModNatS01(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_primModNatS01(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(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero))), Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))))) *(new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(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(Succ(Succ(x78))))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x77))))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(Succ(Succ(x78)))), Succ(Succ(Succ(Succ(x77)))), Succ(Succ(x78)), Succ(Succ(x77))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x77))))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x78))))))))) *(new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(Succ(x82))))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(Succ(Succ(x82)))), Succ(Succ(Succ(Zero))), Succ(Succ(x82)), Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x82))))))))) *(new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(x63)))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(Succ(x63))), Succ(Succ(Zero)), Succ(x63), Zero))), Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Succ(x63)))))))) 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. ---------------------------------------- (364) 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_primModNatS01(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_primModNatS01(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(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_esEs(Pos(Succ(vuz2500))) -> False new_esEs(Pos(Zero)) -> True The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Pos(Succ(x0))) new_primModNatS01(x0, x1, Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_esEs(Neg(Succ(x0))) new_primMinusNatS0(Zero, Zero) new_primModNatS02(x0, x1) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (365) 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(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error new_error -> error([]) new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primModNatS1(Zero, vuz7400) -> Zero new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_esEs(Pos(Succ(vuz2500))) -> False new_esEs(Pos(Zero)) -> True new_esEs(Neg(Succ(vuz2500))) -> False new_esEs(Neg(Zero)) -> True The set Q consists of the following terms: new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_esEs(Pos(Succ(x0))) new_primModNatS01(x0, x1, Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_esEs(Neg(Succ(x0))) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primMinusNatS0(Zero, Zero) new_primModNatS02(x0, x1) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (366) 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. ---------------------------------------- (367) 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(vuz74000)) -> Succ(Zero) new_primModNatS1(Zero, vuz7400) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) new_esEs(Pos(Succ(vuz2500))) -> False new_esEs(Pos(Zero)) -> True new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_esEs(Neg(Succ(vuz2500))) -> False new_esEs(Neg(Zero)) -> True The set Q consists of the following terms: new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_esEs(Pos(Succ(x0))) new_primModNatS01(x0, x1, Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_esEs(Neg(Succ(x0))) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primMinusNatS0(Zero, Zero) new_primModNatS02(x0, x1) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (368) 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(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primRemInt(Neg(x0), Neg(Zero)) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primRemInt(Neg(x0), Neg(Succ(x1))) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_primRemInt(Pos(x0), Pos(Succ(x1))) ---------------------------------------- (369) 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(vuz74000)) -> Succ(Zero) new_primModNatS1(Zero, vuz7400) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) new_esEs(Pos(Succ(vuz2500))) -> False new_esEs(Pos(Zero)) -> True new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_esEs(Neg(Succ(vuz2500))) -> False new_esEs(Neg(Zero)) -> True The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Pos(Succ(x0))) new_primModNatS01(x0, x1, Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_esEs(Neg(Succ(x0))) new_primMinusNatS0(Zero, Zero) new_primModNatS02(x0, x1) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (370) 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(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero))),new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero)))) (new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero))),new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero)))) (new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Pos(new_primModNatS01(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_primModNatS01(x0, x1, x0, x1)))) ---------------------------------------- (371) 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(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primModNatS1(Zero, vuz7400) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) new_esEs(Pos(Succ(vuz2500))) -> False new_esEs(Pos(Zero)) -> True new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_esEs(Neg(Succ(vuz2500))) -> False new_esEs(Neg(Zero)) -> True The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Pos(Succ(x0))) new_primModNatS01(x0, x1, Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_esEs(Neg(Succ(x0))) new_primMinusNatS0(Zero, Zero) new_primModNatS02(x0, x1) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (372) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (373) 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_primMinusNatS0(Zero, Zero), Zero))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primModNatS1(Zero, vuz7400) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) new_esEs(Pos(Succ(vuz2500))) -> False new_esEs(Pos(Zero)) -> True new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_esEs(Neg(Succ(vuz2500))) -> False new_esEs(Neg(Zero)) -> True The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Pos(Succ(x0))) new_primModNatS01(x0, x1, Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_esEs(Neg(Succ(x0))) new_primMinusNatS0(Zero, Zero) new_primModNatS02(x0, x1) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (374) 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_primMinusNatS0(Zero, Zero), 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)))) ---------------------------------------- (375) 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(Succ(x0), Zero), Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 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(vuz74000)) -> Succ(Zero) new_primModNatS1(Zero, vuz7400) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) new_esEs(Pos(Succ(vuz2500))) -> False new_esEs(Pos(Zero)) -> True new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_esEs(Neg(Succ(vuz2500))) -> False new_esEs(Neg(Zero)) -> True The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Pos(Succ(x0))) new_primModNatS01(x0, x1, Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_esEs(Neg(Succ(x0))) new_primMinusNatS0(Zero, Zero) new_primModNatS02(x0, x1) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (376) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (377) 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(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primModNatS1(Zero, vuz7400) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) new_esEs(Pos(Succ(vuz2500))) -> False new_esEs(Pos(Zero)) -> True new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_esEs(Neg(Succ(vuz2500))) -> False new_esEs(Neg(Zero)) -> True The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Pos(Succ(x0))) new_primModNatS01(x0, x1, Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_esEs(Neg(Succ(x0))) new_primMinusNatS0(Zero, Zero) new_primModNatS02(x0, x1) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (378) 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(Succ(x0), Zero), 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)))) ---------------------------------------- (379) 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_primModNatS01(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(vuz74000)) -> Succ(Zero) new_primModNatS1(Zero, vuz7400) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) new_esEs(Pos(Succ(vuz2500))) -> False new_esEs(Pos(Zero)) -> True new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_esEs(Neg(Succ(vuz2500))) -> False new_esEs(Neg(Zero)) -> True The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Pos(Succ(x0))) new_primModNatS01(x0, x1, Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_esEs(Neg(Succ(x0))) new_primMinusNatS0(Zero, Zero) new_primModNatS02(x0, x1) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (380) 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(Zero)), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS0(Zero, Zero), 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_primMinusNatS0(Zero, Zero), Zero))), Neg(Succ(Zero)), Pos(Succ(Zero)))) (new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), 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(Succ(x0), Zero), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(x0))))) (new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(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_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0))))) ---------------------------------------- (381) 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_primModNatS01(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(Zero)), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero))), Neg(Succ(Zero)), Pos(Succ(Zero))) new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(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(vuz74000)) -> Succ(Zero) new_primModNatS1(Zero, vuz7400) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) new_esEs(Pos(Succ(vuz2500))) -> False new_esEs(Pos(Zero)) -> True new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_esEs(Neg(Succ(vuz2500))) -> False new_esEs(Neg(Zero)) -> True The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Pos(Succ(x0))) new_primModNatS01(x0, x1, Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_esEs(Neg(Succ(x0))) new_primMinusNatS0(Zero, Zero) new_primModNatS02(x0, x1) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (382) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 2 less nodes. ---------------------------------------- (383) 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(Succ(x0), Zero), 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_primModNatS01(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_primModNatS01(x0, x1, x0, x1))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primModNatS1(Zero, vuz7400) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) new_esEs(Pos(Succ(vuz2500))) -> False new_esEs(Pos(Zero)) -> True new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_esEs(Neg(Succ(vuz2500))) -> False new_esEs(Neg(Zero)) -> True The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Pos(Succ(x0))) new_primModNatS01(x0, x1, Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_esEs(Neg(Succ(x0))) new_primMinusNatS0(Zero, Zero) new_primModNatS02(x0, x1) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (384) 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)))) ---------------------------------------- (385) 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(Succ(x0), Zero), 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_primModNatS01(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_primModNatS01(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(vuz74000)) -> Succ(Zero) new_primModNatS1(Zero, vuz7400) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) new_esEs(Pos(Succ(vuz2500))) -> False new_esEs(Pos(Zero)) -> True new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_esEs(Neg(Succ(vuz2500))) -> False new_esEs(Neg(Zero)) -> True The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Pos(Succ(x0))) new_primModNatS01(x0, x1, Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_esEs(Neg(Succ(x0))) new_primMinusNatS0(Zero, Zero) new_primModNatS02(x0, x1) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (386) 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(Succ(x0), Zero), 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))))) ---------------------------------------- (387) 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_primModNatS01(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_primModNatS01(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(vuz74000)) -> Succ(Zero) new_primModNatS1(Zero, vuz7400) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) new_esEs(Pos(Succ(vuz2500))) -> False new_esEs(Pos(Zero)) -> True new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_esEs(Neg(Succ(vuz2500))) -> False new_esEs(Neg(Zero)) -> True The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Pos(Succ(x0))) new_primModNatS01(x0, x1, Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_esEs(Neg(Succ(x0))) new_primMinusNatS0(Zero, Zero) new_primModNatS02(x0, x1) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (388) 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(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS0(Zero, 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(new_primMinusNatS0(Zero, Zero), Zero))), Pos(Succ(Zero)), Neg(Succ(Zero)))) (new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), 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(Succ(x0), Zero), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(x0))))) (new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(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_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0))))) ---------------------------------------- (389) 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_primModNatS01(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_primModNatS01(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(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero))), Pos(Succ(Zero)), Neg(Succ(Zero))) new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(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(vuz74000)) -> Succ(Zero) new_primModNatS1(Zero, vuz7400) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) new_esEs(Pos(Succ(vuz2500))) -> False new_esEs(Pos(Zero)) -> True new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_esEs(Neg(Succ(vuz2500))) -> False new_esEs(Neg(Zero)) -> True The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Pos(Succ(x0))) new_primModNatS01(x0, x1, Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_esEs(Neg(Succ(x0))) new_primMinusNatS0(Zero, Zero) new_primModNatS02(x0, x1) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (390) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (391) 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_primModNatS01(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_primModNatS01(x0, x1, x0, x1))) new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), 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_primMinusNatS0(Zero, Zero), 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_primModNatS01(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(vuz74000)) -> Succ(Zero) new_primModNatS1(Zero, vuz7400) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) new_esEs(Pos(Succ(vuz2500))) -> False new_esEs(Pos(Zero)) -> True new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_esEs(Neg(Succ(vuz2500))) -> False new_esEs(Neg(Zero)) -> True The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Pos(Succ(x0))) new_primModNatS01(x0, x1, Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_esEs(Neg(Succ(x0))) new_primMinusNatS0(Zero, Zero) new_primModNatS02(x0, x1) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (392) 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(Succ(x0), Zero), 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))))) ---------------------------------------- (393) 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_primModNatS01(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_primModNatS01(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_primMinusNatS0(Zero, Zero), 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_primModNatS01(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(vuz74000)) -> Succ(Zero) new_primModNatS1(Zero, vuz7400) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) new_esEs(Pos(Succ(vuz2500))) -> False new_esEs(Pos(Zero)) -> True new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_esEs(Neg(Succ(vuz2500))) -> False new_esEs(Neg(Zero)) -> True The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Pos(Succ(x0))) new_primModNatS01(x0, x1, Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_esEs(Neg(Succ(x0))) new_primMinusNatS0(Zero, Zero) new_primModNatS02(x0, x1) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (394) 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)))) ---------------------------------------- (395) 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_primModNatS01(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_primModNatS01(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_primMinusNatS0(Zero, Zero), 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_primModNatS01(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(vuz74000)) -> Succ(Zero) new_primModNatS1(Zero, vuz7400) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) new_esEs(Pos(Succ(vuz2500))) -> False new_esEs(Pos(Zero)) -> True new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_esEs(Neg(Succ(vuz2500))) -> False new_esEs(Neg(Zero)) -> True The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Pos(Succ(x0))) new_primModNatS01(x0, x1, Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_esEs(Neg(Succ(x0))) new_primMinusNatS0(Zero, Zero) new_primModNatS02(x0, x1) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (396) 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_primMinusNatS0(Zero, Zero), 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)))) ---------------------------------------- (397) 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_primModNatS01(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_primModNatS01(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_primModNatS01(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(vuz74000)) -> Succ(Zero) new_primModNatS1(Zero, vuz7400) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) new_esEs(Pos(Succ(vuz2500))) -> False new_esEs(Pos(Zero)) -> True new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_esEs(Neg(Succ(vuz2500))) -> False new_esEs(Neg(Zero)) -> True The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Pos(Succ(x0))) new_primModNatS01(x0, x1, Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_esEs(Neg(Succ(x0))) new_primMinusNatS0(Zero, Zero) new_primModNatS02(x0, x1) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (398) 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)))) ---------------------------------------- (399) 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_primModNatS01(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_primModNatS01(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_primModNatS01(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(vuz74000)) -> Succ(Zero) new_primModNatS1(Zero, vuz7400) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) new_esEs(Pos(Succ(vuz2500))) -> False new_esEs(Pos(Zero)) -> True new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_esEs(Neg(Succ(vuz2500))) -> False new_esEs(Neg(Zero)) -> True The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Pos(Succ(x0))) new_primModNatS01(x0, x1, Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_esEs(Neg(Succ(x0))) new_primMinusNatS0(Zero, Zero) new_primModNatS02(x0, x1) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (400) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (401) 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_primModNatS01(x0, x1, x0, x1))) new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(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_primModNatS01(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(vuz74000)) -> Succ(Zero) new_primModNatS1(Zero, vuz7400) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) new_esEs(Pos(Succ(vuz2500))) -> False new_esEs(Pos(Zero)) -> True new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_esEs(Neg(Succ(vuz2500))) -> False new_esEs(Neg(Zero)) -> True The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Pos(Succ(x0))) new_primModNatS01(x0, x1, Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_esEs(Neg(Succ(x0))) new_primMinusNatS0(Zero, Zero) new_primModNatS02(x0, x1) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (402) 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_primModNatS01(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(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(Zero, Zero))),new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(Zero, 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_primModNatS01(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_primModNatS01(Succ(x2), Succ(x3), x2, x3)))) (new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(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_primModNatS02(Succ(x2), 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))))) ---------------------------------------- (403) 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_primModNatS01(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_primModNatS01(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(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(Zero, 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_primModNatS01(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(Succ(x2), 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(vuz74000)) -> Succ(Zero) new_primModNatS1(Zero, vuz7400) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) new_esEs(Pos(Succ(vuz2500))) -> False new_esEs(Pos(Zero)) -> True new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_esEs(Neg(Succ(vuz2500))) -> False new_esEs(Neg(Zero)) -> True The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Pos(Succ(x0))) new_primModNatS01(x0, x1, Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_esEs(Neg(Succ(x0))) new_primMinusNatS0(Zero, Zero) new_primModNatS02(x0, x1) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (404) 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_primModNatS02(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_primMinusNatS0(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_primMinusNatS0(Succ(Zero), Succ(Zero)), Succ(Zero))))) ---------------------------------------- (405) 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_primModNatS01(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_primModNatS01(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_primModNatS01(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(Succ(x2), 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(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS0(Succ(Zero), Succ(Zero)), Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primModNatS1(Zero, vuz7400) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) new_esEs(Pos(Succ(vuz2500))) -> False new_esEs(Pos(Zero)) -> True new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_esEs(Neg(Succ(vuz2500))) -> False new_esEs(Neg(Zero)) -> True The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Pos(Succ(x0))) new_primModNatS01(x0, x1, Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_esEs(Neg(Succ(x0))) new_primMinusNatS0(Zero, Zero) new_primModNatS02(x0, x1) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (406) 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_primModNatS02(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_primMinusNatS0(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_primMinusNatS0(Succ(Succ(x2)), Succ(Zero)), Succ(Zero))))) ---------------------------------------- (407) 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_primModNatS01(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_primModNatS01(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_primModNatS01(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_primMinusNatS0(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_primMinusNatS0(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primModNatS1(Zero, vuz7400) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) new_esEs(Pos(Succ(vuz2500))) -> False new_esEs(Pos(Zero)) -> True new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_esEs(Neg(Succ(vuz2500))) -> False new_esEs(Neg(Zero)) -> True The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Pos(Succ(x0))) new_primModNatS01(x0, x1, Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_esEs(Neg(Succ(x0))) new_primMinusNatS0(Zero, Zero) new_primModNatS02(x0, x1) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (408) 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_primMinusNatS0(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_primMinusNatS0(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_primMinusNatS0(Zero, Zero), Succ(Zero))))) ---------------------------------------- (409) 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_primModNatS01(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_primModNatS01(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_primModNatS01(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_primMinusNatS0(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_primMinusNatS0(Zero, Zero), Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primModNatS1(Zero, vuz7400) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) new_esEs(Pos(Succ(vuz2500))) -> False new_esEs(Pos(Zero)) -> True new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_esEs(Neg(Succ(vuz2500))) -> False new_esEs(Neg(Zero)) -> True The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Pos(Succ(x0))) new_primModNatS01(x0, x1, Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_esEs(Neg(Succ(x0))) new_primMinusNatS0(Zero, Zero) new_primModNatS02(x0, x1) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (410) 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_primMinusNatS0(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_primMinusNatS0(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_primMinusNatS0(Succ(x2), Zero), Succ(Zero))))) ---------------------------------------- (411) 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_primModNatS01(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_primModNatS01(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_primModNatS01(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_primMinusNatS0(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(new_primMinusNatS0(Succ(x2), Zero), Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primModNatS1(Zero, vuz7400) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) new_esEs(Pos(Succ(vuz2500))) -> False new_esEs(Pos(Zero)) -> True new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_esEs(Neg(Succ(vuz2500))) -> False new_esEs(Neg(Zero)) -> True The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Pos(Succ(x0))) new_primModNatS01(x0, x1, Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_esEs(Neg(Succ(x0))) new_primMinusNatS0(Zero, Zero) new_primModNatS02(x0, x1) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (412) 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_primMinusNatS0(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))))) ---------------------------------------- (413) 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_primModNatS01(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_primModNatS01(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_primModNatS01(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_primMinusNatS0(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(Zero, Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primModNatS1(Zero, vuz7400) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) new_esEs(Pos(Succ(vuz2500))) -> False new_esEs(Pos(Zero)) -> True new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_esEs(Neg(Succ(vuz2500))) -> False new_esEs(Neg(Zero)) -> True The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Pos(Succ(x0))) new_primModNatS01(x0, x1, Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_esEs(Neg(Succ(x0))) new_primMinusNatS0(Zero, Zero) new_primModNatS02(x0, x1) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (414) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (415) 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_primModNatS01(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_primModNatS01(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(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(new_primMinusNatS0(Succ(x2), Zero), 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(vuz74000)) -> Succ(Zero) new_primModNatS1(Zero, vuz7400) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) new_esEs(Pos(Succ(vuz2500))) -> False new_esEs(Pos(Zero)) -> True new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_esEs(Neg(Succ(vuz2500))) -> False new_esEs(Neg(Zero)) -> True The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Pos(Succ(x0))) new_primModNatS01(x0, x1, Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_esEs(Neg(Succ(x0))) new_primMinusNatS0(Zero, Zero) new_primModNatS02(x0, x1) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (416) 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_primMinusNatS0(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))))) ---------------------------------------- (417) 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_primModNatS01(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_primModNatS01(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(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'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, 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(vuz74000)) -> Succ(Zero) new_primModNatS1(Zero, vuz7400) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) new_esEs(Pos(Succ(vuz2500))) -> False new_esEs(Pos(Zero)) -> True new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_esEs(Neg(Succ(vuz2500))) -> False new_esEs(Neg(Zero)) -> True The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Pos(Succ(x0))) new_primModNatS01(x0, x1, Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_esEs(Neg(Succ(x0))) new_primMinusNatS0(Zero, Zero) new_primModNatS02(x0, x1) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (418) 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(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero))),new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero)))) (new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero))),new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero)))) (new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Neg(new_primModNatS01(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_primModNatS01(x0, x1, x0, x1)))) ---------------------------------------- (419) 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_primModNatS01(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_primModNatS01(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(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'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, 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(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(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero))) new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primModNatS1(Zero, vuz7400) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) new_esEs(Pos(Succ(vuz2500))) -> False new_esEs(Pos(Zero)) -> True new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_esEs(Neg(Succ(vuz2500))) -> False new_esEs(Neg(Zero)) -> True The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Pos(Succ(x0))) new_primModNatS01(x0, x1, Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_esEs(Neg(Succ(x0))) new_primMinusNatS0(Zero, Zero) new_primModNatS02(x0, x1) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (420) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 3 SCCs with 2 less nodes. ---------------------------------------- (421) Complex Obligation (AND) ---------------------------------------- (422) 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(vuz74000)) -> Succ(Zero) new_primModNatS1(Zero, vuz7400) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) new_esEs(Pos(Succ(vuz2500))) -> False new_esEs(Pos(Zero)) -> True new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_esEs(Neg(Succ(vuz2500))) -> False new_esEs(Neg(Zero)) -> True The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Pos(Succ(x0))) new_primModNatS01(x0, x1, Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_esEs(Neg(Succ(x0))) new_primMinusNatS0(Zero, Zero) new_primModNatS02(x0, x1) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (423) 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. ---------------------------------------- (424) 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(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_esEs(Pos(Succ(vuz2500))) -> False new_esEs(Pos(Zero)) -> True new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Pos(Succ(x0))) new_primModNatS01(x0, x1, Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_esEs(Neg(Succ(x0))) new_primMinusNatS0(Zero, Zero) new_primModNatS02(x0, x1) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (425) 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_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1) ---------------------------------------- (426) 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(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_esEs(Pos(Succ(vuz2500))) -> False new_esEs(Pos(Zero)) -> True new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Pos(Succ(x0))) new_primMinusNatS0(Succ(x0), Zero) new_primMinusNatS0(Succ(x0), Succ(x1)) new_esEs(Neg(Succ(x0))) new_primMinusNatS0(Zero, Zero) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (427) 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(Succ(x0))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero))),new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero)))) (new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero))),new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero)))) ---------------------------------------- (428) 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(Succ(x0), Zero), Zero))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_esEs(Pos(Succ(vuz2500))) -> False new_esEs(Pos(Zero)) -> True new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Pos(Succ(x0))) new_primMinusNatS0(Succ(x0), Zero) new_primMinusNatS0(Succ(x0), Succ(x1)) new_esEs(Neg(Succ(x0))) new_primMinusNatS0(Zero, Zero) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (429) 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(Succ(x0), Zero), 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)))) ---------------------------------------- (430) 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_primMinusNatS0(Zero, Zero), 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(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_esEs(Pos(Succ(vuz2500))) -> False new_esEs(Pos(Zero)) -> True new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Pos(Succ(x0))) new_primMinusNatS0(Succ(x0), Zero) new_primMinusNatS0(Succ(x0), Succ(x1)) new_esEs(Neg(Succ(x0))) new_primMinusNatS0(Zero, Zero) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (431) 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_primMinusNatS0(Zero, Zero), 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)))) ---------------------------------------- (432) 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(Succ(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(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_esEs(Pos(Succ(vuz2500))) -> False new_esEs(Pos(Zero)) -> True new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Pos(Succ(x0))) new_primMinusNatS0(Succ(x0), Zero) new_primMinusNatS0(Succ(x0), Succ(x1)) new_esEs(Neg(Succ(x0))) new_primMinusNatS0(Zero, Zero) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (433) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (434) 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(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(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_esEs(Pos(Succ(vuz2500))) -> False new_esEs(Pos(Zero)) -> True new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Pos(Succ(x0))) new_primMinusNatS0(Succ(x0), Zero) new_primMinusNatS0(Succ(x0), Succ(x1)) new_esEs(Neg(Succ(x0))) new_primMinusNatS0(Zero, Zero) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (435) 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(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), 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(Succ(x0), Zero), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))))) (new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS0(Zero, Zero), 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_primMinusNatS0(Zero, Zero), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Zero))))) ---------------------------------------- (436) 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'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'0(Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_esEs(Pos(Succ(vuz2500))) -> False new_esEs(Pos(Zero)) -> True new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Pos(Succ(x0))) new_primMinusNatS0(Succ(x0), Zero) new_primMinusNatS0(Succ(x0), Succ(x1)) new_esEs(Neg(Succ(x0))) new_primMinusNatS0(Zero, Zero) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (437) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (438) 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(Succ(x0), Zero), 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(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_esEs(Pos(Succ(vuz2500))) -> False new_esEs(Pos(Zero)) -> True new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Pos(Succ(x0))) new_primMinusNatS0(Succ(x0), Zero) new_primMinusNatS0(Succ(x0), Succ(x1)) new_esEs(Neg(Succ(x0))) new_primMinusNatS0(Zero, Zero) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (439) 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(Succ(x0), Zero), 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)))))) ---------------------------------------- (440) 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(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_esEs(Pos(Succ(vuz2500))) -> False new_esEs(Pos(Zero)) -> True new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Pos(Succ(x0))) new_primMinusNatS0(Succ(x0), Zero) new_primMinusNatS0(Succ(x0), Succ(x1)) new_esEs(Neg(Succ(x0))) new_primMinusNatS0(Zero, Zero) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (441) 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(Succ(x0)))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), 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(Succ(x0), Zero), Zero)))) (new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero))),new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero)))) ---------------------------------------- (442) 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(Succ(x0), Zero), Zero))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_esEs(Pos(Succ(vuz2500))) -> False new_esEs(Pos(Zero)) -> True new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Pos(Succ(x0))) new_primMinusNatS0(Succ(x0), Zero) new_primMinusNatS0(Succ(x0), Succ(x1)) new_esEs(Neg(Succ(x0))) new_primMinusNatS0(Zero, Zero) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (443) 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(Succ(x0), Zero), 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)))) ---------------------------------------- (444) 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_primMinusNatS0(Zero, Zero), 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(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_esEs(Pos(Succ(vuz2500))) -> False new_esEs(Pos(Zero)) -> True new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Pos(Succ(x0))) new_primMinusNatS0(Succ(x0), Zero) new_primMinusNatS0(Succ(x0), Succ(x1)) new_esEs(Neg(Succ(x0))) new_primMinusNatS0(Zero, Zero) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (445) 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_primMinusNatS0(Zero, Zero), 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)))) ---------------------------------------- (446) 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(Succ(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(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_esEs(Pos(Succ(vuz2500))) -> False new_esEs(Pos(Zero)) -> True new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Pos(Succ(x0))) new_primMinusNatS0(Succ(x0), Zero) new_primMinusNatS0(Succ(x0), Succ(x1)) new_esEs(Neg(Succ(x0))) new_primMinusNatS0(Zero, Zero) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (447) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (448) 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(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(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_esEs(Pos(Succ(vuz2500))) -> False new_esEs(Pos(Zero)) -> True new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Pos(Succ(x0))) new_primMinusNatS0(Succ(x0), Zero) new_primMinusNatS0(Succ(x0), Succ(x1)) new_esEs(Neg(Succ(x0))) new_primMinusNatS0(Zero, Zero) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (449) 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(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), 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(Succ(x0), Zero), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))))) (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS0(Zero, Zero), 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_primMinusNatS0(Zero, Zero), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Zero)))))) ---------------------------------------- (450) 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'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'0(Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_esEs(Pos(Succ(vuz2500))) -> False new_esEs(Pos(Zero)) -> True new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Pos(Succ(x0))) new_primMinusNatS0(Succ(x0), Zero) new_primMinusNatS0(Succ(x0), Succ(x1)) new_esEs(Neg(Succ(x0))) new_primMinusNatS0(Zero, Zero) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (451) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (452) 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(Succ(x0), Zero), 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(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_esEs(Pos(Succ(vuz2500))) -> False new_esEs(Pos(Zero)) -> True new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Pos(Succ(x0))) new_primMinusNatS0(Succ(x0), Zero) new_primMinusNatS0(Succ(x0), Succ(x1)) new_esEs(Neg(Succ(x0))) new_primMinusNatS0(Zero, Zero) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (453) 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(Succ(x0), Zero), 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))))))) ---------------------------------------- (454) 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(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_esEs(Pos(Succ(vuz2500))) -> False new_esEs(Pos(Zero)) -> True new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Pos(Succ(x0))) new_primMinusNatS0(Succ(x0), Zero) new_primMinusNatS0(Succ(x0), Succ(x1)) new_esEs(Neg(Succ(x0))) new_primMinusNatS0(Zero, Zero) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (455) 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, x_2)) = x_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, vuz7400) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) ---------------------------------------- (456) YES ---------------------------------------- (457) 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(Succ(x0), Zero), 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(vuz74000)) -> Succ(Zero) new_primModNatS1(Zero, vuz7400) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) new_esEs(Pos(Succ(vuz2500))) -> False new_esEs(Pos(Zero)) -> True new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_esEs(Neg(Succ(vuz2500))) -> False new_esEs(Neg(Zero)) -> True The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Pos(Succ(x0))) new_primModNatS01(x0, x1, Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_esEs(Neg(Succ(x0))) new_primMinusNatS0(Zero, Zero) new_primModNatS02(x0, x1) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (458) 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. ---------------------------------------- (459) 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(Succ(x0), Zero), 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(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_esEs(Neg(Succ(vuz2500))) -> False new_esEs(Neg(Zero)) -> True new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Pos(Succ(x0))) new_primModNatS01(x0, x1, Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_esEs(Neg(Succ(x0))) new_primMinusNatS0(Zero, Zero) new_primModNatS02(x0, x1) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (460) 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_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1) ---------------------------------------- (461) 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(Succ(x0), Zero), 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(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_esEs(Neg(Succ(vuz2500))) -> False new_esEs(Neg(Zero)) -> True new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Pos(Succ(x0))) new_primMinusNatS0(Succ(x0), Zero) new_primMinusNatS0(Succ(x0), Succ(x1)) new_esEs(Neg(Succ(x0))) new_primMinusNatS0(Zero, Zero) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (462) 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(Succ(x0), Zero), 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)))) ---------------------------------------- (463) 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(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_esEs(Neg(Succ(vuz2500))) -> False new_esEs(Neg(Zero)) -> True new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Pos(Succ(x0))) new_primMinusNatS0(Succ(x0), Zero) new_primMinusNatS0(Succ(x0), Succ(x1)) new_esEs(Neg(Succ(x0))) new_primMinusNatS0(Zero, Zero) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (464) 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(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), 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(Succ(x0), Zero), 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(new_primMinusNatS0(Zero, 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(new_primMinusNatS0(Zero, Zero), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Zero))))) ---------------------------------------- (465) 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(Succ(x0), Zero), 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(new_primMinusNatS0(Zero, Zero), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_esEs(Neg(Succ(vuz2500))) -> False new_esEs(Neg(Zero)) -> True new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Pos(Succ(x0))) new_primMinusNatS0(Succ(x0), Zero) new_primMinusNatS0(Succ(x0), Succ(x1)) new_esEs(Neg(Succ(x0))) new_primMinusNatS0(Zero, Zero) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (466) 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(Succ(x0), Zero), 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)))))) ---------------------------------------- (467) 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_primMinusNatS0(Zero, 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(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_esEs(Neg(Succ(vuz2500))) -> False new_esEs(Neg(Zero)) -> True new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Pos(Succ(x0))) new_primMinusNatS0(Succ(x0), Zero) new_primMinusNatS0(Succ(x0), Succ(x1)) new_esEs(Neg(Succ(x0))) new_primMinusNatS0(Zero, Zero) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (468) 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_primMinusNatS0(Zero, Zero), 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))))) ---------------------------------------- (469) 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(new_primModNatS1(Zero, Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_esEs(Neg(Succ(vuz2500))) -> False new_esEs(Neg(Zero)) -> True new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Pos(Succ(x0))) new_primMinusNatS0(Succ(x0), Zero) new_primMinusNatS0(Succ(x0), Succ(x1)) new_esEs(Neg(Succ(x0))) new_primMinusNatS0(Zero, Zero) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (470) 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))))) ---------------------------------------- (471) 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(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_esEs(Neg(Succ(vuz2500))) -> False new_esEs(Neg(Zero)) -> True new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Pos(Succ(x0))) new_primMinusNatS0(Succ(x0), Zero) new_primMinusNatS0(Succ(x0), Succ(x1)) new_esEs(Neg(Succ(x0))) new_primMinusNatS0(Zero, Zero) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (472) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (473) 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(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_esEs(Neg(Succ(vuz2500))) -> False new_esEs(Neg(Zero)) -> True new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Pos(Succ(x0))) new_primMinusNatS0(Succ(x0), Zero) new_primMinusNatS0(Succ(x0), Succ(x1)) new_esEs(Neg(Succ(x0))) new_primMinusNatS0(Zero, Zero) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (474) 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(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), 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(Succ(x0), Zero), 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(new_primMinusNatS0(Zero, 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(new_primMinusNatS0(Zero, Zero), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Zero)))))) ---------------------------------------- (475) 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(Succ(x0), Zero), 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(new_primMinusNatS0(Zero, Zero), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_esEs(Neg(Succ(vuz2500))) -> False new_esEs(Neg(Zero)) -> True new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Pos(Succ(x0))) new_primMinusNatS0(Succ(x0), Zero) new_primMinusNatS0(Succ(x0), Succ(x1)) new_esEs(Neg(Succ(x0))) new_primMinusNatS0(Zero, Zero) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (476) 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(Succ(x0), Zero), 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))))))) ---------------------------------------- (477) 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_primMinusNatS0(Zero, 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(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_esEs(Neg(Succ(vuz2500))) -> False new_esEs(Neg(Zero)) -> True new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Pos(Succ(x0))) new_primMinusNatS0(Succ(x0), Zero) new_primMinusNatS0(Succ(x0), Succ(x1)) new_esEs(Neg(Succ(x0))) new_primMinusNatS0(Zero, Zero) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (478) 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_primMinusNatS0(Zero, Zero), 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)))))) ---------------------------------------- (479) 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(new_primModNatS1(Zero, Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_esEs(Neg(Succ(vuz2500))) -> False new_esEs(Neg(Zero)) -> True new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Pos(Succ(x0))) new_primMinusNatS0(Succ(x0), Zero) new_primMinusNatS0(Succ(x0), Succ(x1)) new_esEs(Neg(Succ(x0))) new_primMinusNatS0(Zero, Zero) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (480) 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)))))) ---------------------------------------- (481) 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(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_esEs(Neg(Succ(vuz2500))) -> False new_esEs(Neg(Zero)) -> True new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Pos(Succ(x0))) new_primMinusNatS0(Succ(x0), Zero) new_primMinusNatS0(Succ(x0), Succ(x1)) new_esEs(Neg(Succ(x0))) new_primMinusNatS0(Zero, Zero) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (482) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (483) 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(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_esEs(Neg(Succ(vuz2500))) -> False new_esEs(Neg(Zero)) -> True new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Pos(Succ(x0))) new_primMinusNatS0(Succ(x0), Zero) new_primMinusNatS0(Succ(x0), Succ(x1)) new_esEs(Neg(Succ(x0))) new_primMinusNatS0(Zero, Zero) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (484) 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(Succ(x0))))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero))),new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero)))) (new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero))),new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero)))) ---------------------------------------- (485) 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(Succ(x0))))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero))) new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_esEs(Neg(Succ(vuz2500))) -> False new_esEs(Neg(Zero)) -> True new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Pos(Succ(x0))) new_primMinusNatS0(Succ(x0), Zero) new_primMinusNatS0(Succ(x0), Succ(x1)) new_esEs(Neg(Succ(x0))) new_primMinusNatS0(Zero, Zero) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (486) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (487) 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(Succ(x0), Zero), 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(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_esEs(Neg(Succ(vuz2500))) -> False new_esEs(Neg(Zero)) -> True new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Pos(Succ(x0))) new_primMinusNatS0(Succ(x0), Zero) new_primMinusNatS0(Succ(x0), Succ(x1)) new_esEs(Neg(Succ(x0))) new_primMinusNatS0(Zero, Zero) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (488) 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(Succ(x0), Zero), 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)))) ---------------------------------------- (489) 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(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_esEs(Neg(Succ(vuz2500))) -> False new_esEs(Neg(Zero)) -> True new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Pos(Succ(x0))) new_primMinusNatS0(Succ(x0), Zero) new_primMinusNatS0(Succ(x0), Succ(x1)) new_esEs(Neg(Succ(x0))) new_primMinusNatS0(Zero, Zero) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (490) 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(Succ(x0)))))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), 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(Succ(x0), Zero), Zero)))) (new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero))),new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero)))) ---------------------------------------- (491) 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(Succ(x0)))))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero))) new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_esEs(Neg(Succ(vuz2500))) -> False new_esEs(Neg(Zero)) -> True new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Pos(Succ(x0))) new_primMinusNatS0(Succ(x0), Zero) new_primMinusNatS0(Succ(x0), Succ(x1)) new_esEs(Neg(Succ(x0))) new_primMinusNatS0(Zero, Zero) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (492) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (493) 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(Succ(x0), Zero), 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(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_esEs(Neg(Succ(vuz2500))) -> False new_esEs(Neg(Zero)) -> True new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Pos(Succ(x0))) new_primMinusNatS0(Succ(x0), Zero) new_primMinusNatS0(Succ(x0), Succ(x1)) new_esEs(Neg(Succ(x0))) new_primMinusNatS0(Zero, Zero) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (494) 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(Succ(x0), Zero), 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)))) ---------------------------------------- (495) 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(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_esEs(Neg(Succ(vuz2500))) -> False new_esEs(Neg(Zero)) -> True new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Pos(Succ(x0))) new_primMinusNatS0(Succ(x0), Zero) new_primMinusNatS0(Succ(x0), Succ(x1)) new_esEs(Neg(Succ(x0))) new_primMinusNatS0(Zero, Zero) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (496) 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, x_2)) = x_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, vuz7400) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) ---------------------------------------- (497) YES ---------------------------------------- (498) 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_primModNatS01(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(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_primModNatS01(x0, x1, x0, x1))) new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(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(vuz74000)) -> Succ(Zero) new_primModNatS1(Zero, vuz7400) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) new_esEs(Pos(Succ(vuz2500))) -> False new_esEs(Pos(Zero)) -> True new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_esEs(Neg(Succ(vuz2500))) -> False new_esEs(Neg(Zero)) -> True The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Pos(Succ(x0))) new_primModNatS01(x0, x1, Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_esEs(Neg(Succ(x0))) new_primMinusNatS0(Zero, Zero) new_primModNatS02(x0, x1) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (499) 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. ---------------------------------------- (500) 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_primModNatS01(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(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_primModNatS01(x0, x1, x0, x1))) new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(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(vuz74000)) -> Succ(Zero) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_esEs(Pos(Succ(vuz2500))) -> False new_esEs(Pos(Zero)) -> True new_esEs(Neg(Succ(vuz2500))) -> False new_esEs(Neg(Zero)) -> True The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Pos(Succ(x0))) new_primModNatS01(x0, x1, Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_esEs(Neg(Succ(x0))) new_primMinusNatS0(Zero, Zero) new_primModNatS02(x0, x1) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (501) 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_primModNatS01(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(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(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_primModNatS02(Succ(Zero), 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_primModNatS01(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_primModNatS01(Succ(Succ(x2)), Succ(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_primModNatS02(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_primModNatS02(Succ(Succ(x2)), 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)))))) ---------------------------------------- (502) 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_primModNatS01(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_primModNatS01(x0, x1, x0, x1))) new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(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(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Zero), 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_primModNatS01(Succ(Succ(x2)), Succ(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_primModNatS02(Succ(Succ(x2)), 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(vuz74000)) -> Succ(Zero) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_esEs(Pos(Succ(vuz2500))) -> False new_esEs(Pos(Zero)) -> True new_esEs(Neg(Succ(vuz2500))) -> False new_esEs(Neg(Zero)) -> True The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Pos(Succ(x0))) new_primModNatS01(x0, x1, Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_esEs(Neg(Succ(x0))) new_primMinusNatS0(Zero, Zero) new_primModNatS02(x0, x1) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (503) 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_primModNatS02(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_primMinusNatS0(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_primMinusNatS0(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero)))))) ---------------------------------------- (504) 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_primModNatS01(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_primModNatS01(x0, x1, x0, x1))) new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(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_primModNatS01(Succ(Succ(x2)), Succ(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_primModNatS02(Succ(Succ(x2)), 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(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS0(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_esEs(Pos(Succ(vuz2500))) -> False new_esEs(Pos(Zero)) -> True new_esEs(Neg(Succ(vuz2500))) -> False new_esEs(Neg(Zero)) -> True The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Pos(Succ(x0))) new_primModNatS01(x0, x1, Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_esEs(Neg(Succ(x0))) new_primMinusNatS0(Zero, Zero) new_primModNatS02(x0, x1) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (505) 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_primModNatS02(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_primMinusNatS0(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_primMinusNatS0(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero)))))) ---------------------------------------- (506) 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_primModNatS01(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_primModNatS01(x0, x1, x0, x1))) new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(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_primModNatS01(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_primMinusNatS0(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_primMinusNatS0(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_esEs(Pos(Succ(vuz2500))) -> False new_esEs(Pos(Zero)) -> True new_esEs(Neg(Succ(vuz2500))) -> False new_esEs(Neg(Zero)) -> True The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Pos(Succ(x0))) new_primModNatS01(x0, x1, Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_esEs(Neg(Succ(x0))) new_primMinusNatS0(Zero, Zero) new_primModNatS02(x0, x1) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (507) 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_primMinusNatS0(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_primMinusNatS0(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_primMinusNatS0(Succ(Zero), Succ(Zero)), Succ(Succ(Zero)))))) ---------------------------------------- (508) 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_primModNatS01(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_primModNatS01(x0, x1, x0, x1))) new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(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_primModNatS01(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_primMinusNatS0(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_primMinusNatS0(Succ(Zero), Succ(Zero)), Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_esEs(Pos(Succ(vuz2500))) -> False new_esEs(Pos(Zero)) -> True new_esEs(Neg(Succ(vuz2500))) -> False new_esEs(Neg(Zero)) -> True The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Pos(Succ(x0))) new_primModNatS01(x0, x1, Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_esEs(Neg(Succ(x0))) new_primMinusNatS0(Zero, Zero) new_primModNatS02(x0, x1) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (509) 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_primMinusNatS0(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_primMinusNatS0(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_primMinusNatS0(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero)))))) ---------------------------------------- (510) 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_primModNatS01(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_primModNatS01(x0, x1, x0, x1))) new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(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_primModNatS01(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_primMinusNatS0(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_primMinusNatS0(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_esEs(Pos(Succ(vuz2500))) -> False new_esEs(Pos(Zero)) -> True new_esEs(Neg(Succ(vuz2500))) -> False new_esEs(Neg(Zero)) -> True The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Pos(Succ(x0))) new_primModNatS01(x0, x1, Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_esEs(Neg(Succ(x0))) new_primMinusNatS0(Zero, Zero) new_primModNatS02(x0, x1) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (511) 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_primMinusNatS0(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_primMinusNatS0(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_primMinusNatS0(Zero, Zero), Succ(Succ(Zero)))))) ---------------------------------------- (512) 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_primModNatS01(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_primModNatS01(x0, x1, x0, x1))) new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(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_primModNatS01(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_primMinusNatS0(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_primMinusNatS0(Zero, Zero), Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_esEs(Pos(Succ(vuz2500))) -> False new_esEs(Pos(Zero)) -> True new_esEs(Neg(Succ(vuz2500))) -> False new_esEs(Neg(Zero)) -> True The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Pos(Succ(x0))) new_primModNatS01(x0, x1, Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_esEs(Neg(Succ(x0))) new_primMinusNatS0(Zero, Zero) new_primModNatS02(x0, x1) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (513) 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_primMinusNatS0(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_primMinusNatS0(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_primMinusNatS0(Succ(x2), Zero), Succ(Succ(Zero)))))) ---------------------------------------- (514) 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_primModNatS01(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_primModNatS01(x0, x1, x0, x1))) new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(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_primModNatS01(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_primMinusNatS0(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(new_primMinusNatS0(Succ(x2), Zero), Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_esEs(Pos(Succ(vuz2500))) -> False new_esEs(Pos(Zero)) -> True new_esEs(Neg(Succ(vuz2500))) -> False new_esEs(Neg(Zero)) -> True The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Pos(Succ(x0))) new_primModNatS01(x0, x1, Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_esEs(Neg(Succ(x0))) new_primMinusNatS0(Zero, Zero) new_primModNatS02(x0, x1) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (515) 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_primMinusNatS0(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)))))) ---------------------------------------- (516) 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_primModNatS01(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_primModNatS01(x0, x1, x0, x1))) new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(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_primModNatS01(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_primMinusNatS0(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(Zero, Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_esEs(Pos(Succ(vuz2500))) -> False new_esEs(Pos(Zero)) -> True new_esEs(Neg(Succ(vuz2500))) -> False new_esEs(Neg(Zero)) -> True The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Pos(Succ(x0))) new_primModNatS01(x0, x1, Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_esEs(Neg(Succ(x0))) new_primMinusNatS0(Zero, Zero) new_primModNatS02(x0, x1) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (517) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (518) 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_primModNatS01(x0, x1, x0, x1))) new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(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_primModNatS01(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_primModNatS01(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_primMinusNatS0(Succ(x2), Zero), Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_esEs(Pos(Succ(vuz2500))) -> False new_esEs(Pos(Zero)) -> True new_esEs(Neg(Succ(vuz2500))) -> False new_esEs(Neg(Zero)) -> True The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Pos(Succ(x0))) new_primModNatS01(x0, x1, Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_esEs(Neg(Succ(x0))) new_primMinusNatS0(Zero, Zero) new_primModNatS02(x0, x1) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (519) 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_primMinusNatS0(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)))))) ---------------------------------------- (520) 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_primModNatS01(x0, x1, x0, x1))) new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(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_primModNatS01(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_primModNatS01(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(vuz74000)) -> Succ(Zero) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_esEs(Pos(Succ(vuz2500))) -> False new_esEs(Pos(Zero)) -> True new_esEs(Neg(Succ(vuz2500))) -> False new_esEs(Neg(Zero)) -> True The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Pos(Succ(x0))) new_primModNatS01(x0, x1, Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_esEs(Neg(Succ(x0))) new_primMinusNatS0(Zero, Zero) new_primModNatS02(x0, x1) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (521) 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_primModNatS01(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(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(Zero, Zero))),new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(Zero, 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_primModNatS01(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_primModNatS01(Succ(x2), Succ(x3), x2, x3)))) (new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(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_primModNatS02(Succ(x2), 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))))) ---------------------------------------- (522) 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_primModNatS01(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_primModNatS01(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_primModNatS01(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(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(Zero, 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_primModNatS01(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(Succ(x2), 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(vuz74000)) -> Succ(Zero) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_esEs(Pos(Succ(vuz2500))) -> False new_esEs(Pos(Zero)) -> True new_esEs(Neg(Succ(vuz2500))) -> False new_esEs(Neg(Zero)) -> True The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Pos(Succ(x0))) new_primModNatS01(x0, x1, Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_esEs(Neg(Succ(x0))) new_primMinusNatS0(Zero, Zero) new_primModNatS02(x0, x1) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (523) 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_primModNatS02(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_primMinusNatS0(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_primMinusNatS0(Succ(Zero), Succ(Zero)), Succ(Zero))))) ---------------------------------------- (524) 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_primModNatS01(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_primModNatS01(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_primModNatS01(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_primModNatS01(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(Succ(x2), 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(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS0(Succ(Zero), Succ(Zero)), Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_esEs(Pos(Succ(vuz2500))) -> False new_esEs(Pos(Zero)) -> True new_esEs(Neg(Succ(vuz2500))) -> False new_esEs(Neg(Zero)) -> True The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Pos(Succ(x0))) new_primModNatS01(x0, x1, Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_esEs(Neg(Succ(x0))) new_primMinusNatS0(Zero, Zero) new_primModNatS02(x0, x1) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (525) 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_primModNatS02(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_primMinusNatS0(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_primMinusNatS0(Succ(Succ(x2)), Succ(Zero)), Succ(Zero))))) ---------------------------------------- (526) 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_primModNatS01(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_primModNatS01(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_primModNatS01(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_primModNatS01(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_primMinusNatS0(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_primMinusNatS0(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_esEs(Pos(Succ(vuz2500))) -> False new_esEs(Pos(Zero)) -> True new_esEs(Neg(Succ(vuz2500))) -> False new_esEs(Neg(Zero)) -> True The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Pos(Succ(x0))) new_primModNatS01(x0, x1, Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_esEs(Neg(Succ(x0))) new_primMinusNatS0(Zero, Zero) new_primModNatS02(x0, x1) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (527) 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_primMinusNatS0(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_primMinusNatS0(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_primMinusNatS0(Zero, Zero), Succ(Zero))))) ---------------------------------------- (528) 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_primModNatS01(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_primModNatS01(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_primModNatS01(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_primModNatS01(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_primMinusNatS0(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_primMinusNatS0(Zero, Zero), Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_esEs(Pos(Succ(vuz2500))) -> False new_esEs(Pos(Zero)) -> True new_esEs(Neg(Succ(vuz2500))) -> False new_esEs(Neg(Zero)) -> True The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Pos(Succ(x0))) new_primModNatS01(x0, x1, Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_esEs(Neg(Succ(x0))) new_primMinusNatS0(Zero, Zero) new_primModNatS02(x0, x1) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (529) 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_primMinusNatS0(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_primMinusNatS0(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_primMinusNatS0(Succ(x2), Zero), Succ(Zero))))) ---------------------------------------- (530) 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_primModNatS01(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_primModNatS01(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_primModNatS01(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_primModNatS01(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_primMinusNatS0(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(new_primMinusNatS0(Succ(x2), Zero), Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_esEs(Pos(Succ(vuz2500))) -> False new_esEs(Pos(Zero)) -> True new_esEs(Neg(Succ(vuz2500))) -> False new_esEs(Neg(Zero)) -> True The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Pos(Succ(x0))) new_primModNatS01(x0, x1, Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_esEs(Neg(Succ(x0))) new_primMinusNatS0(Zero, Zero) new_primModNatS02(x0, x1) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (531) 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_primMinusNatS0(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))))) ---------------------------------------- (532) 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_primModNatS01(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_primModNatS01(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_primModNatS01(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_primModNatS01(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_primMinusNatS0(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(Zero, Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_esEs(Pos(Succ(vuz2500))) -> False new_esEs(Pos(Zero)) -> True new_esEs(Neg(Succ(vuz2500))) -> False new_esEs(Neg(Zero)) -> True The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Pos(Succ(x0))) new_primModNatS01(x0, x1, Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_esEs(Neg(Succ(x0))) new_primMinusNatS0(Zero, Zero) new_primModNatS02(x0, x1) new_primModNatS1(Zero, x0) new_esEs(Neg(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_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_primModNatS01(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_primModNatS01(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(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_primModNatS01(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(new_primMinusNatS0(Succ(x2), Zero), Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_esEs(Pos(Succ(vuz2500))) -> False new_esEs(Pos(Zero)) -> True new_esEs(Neg(Succ(vuz2500))) -> False new_esEs(Neg(Zero)) -> True The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Pos(Succ(x0))) new_primModNatS01(x0, x1, Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_esEs(Neg(Succ(x0))) new_primMinusNatS0(Zero, Zero) new_primModNatS02(x0, x1) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (535) 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_primMinusNatS0(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))))) ---------------------------------------- (536) 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_primModNatS01(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_primModNatS01(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(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_primModNatS01(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(vuz74000)) -> Succ(Zero) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_esEs(Pos(Succ(vuz2500))) -> False new_esEs(Pos(Zero)) -> True new_esEs(Neg(Succ(vuz2500))) -> False new_esEs(Neg(Zero)) -> True The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Pos(Succ(x0))) new_primModNatS01(x0, x1, Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_esEs(Neg(Succ(x0))) new_primMinusNatS0(Zero, Zero) new_primModNatS02(x0, x1) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (537) 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_primModNatS01(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(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(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_primModNatS02(Zero, Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))))) (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(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_primModNatS01(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(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(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_primModNatS02(Succ(x2), 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(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))))) ---------------------------------------- (538) 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_primModNatS01(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(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_primModNatS01(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(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(Zero, Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(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(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(Succ(x2), 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(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(vuz74000)) -> Succ(Zero) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_esEs(Pos(Succ(vuz2500))) -> False new_esEs(Pos(Zero)) -> True new_esEs(Neg(Succ(vuz2500))) -> False new_esEs(Neg(Zero)) -> True The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Pos(Succ(x0))) new_primModNatS01(x0, x1, Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_esEs(Neg(Succ(x0))) new_primMinusNatS0(Zero, Zero) new_primModNatS02(x0, x1) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (539) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (540) 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_primModNatS02(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_primModNatS01(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_primModNatS01(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_primModNatS01(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_primModNatS01(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(vuz74000)) -> Succ(Zero) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_esEs(Pos(Succ(vuz2500))) -> False new_esEs(Pos(Zero)) -> True new_esEs(Neg(Succ(vuz2500))) -> False new_esEs(Neg(Zero)) -> True The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Pos(Succ(x0))) new_primModNatS01(x0, x1, Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_esEs(Neg(Succ(x0))) new_primMinusNatS0(Zero, Zero) new_primModNatS02(x0, x1) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (541) 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_primModNatS02(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_primMinusNatS0(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_primMinusNatS0(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))))) ---------------------------------------- (542) 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_primModNatS01(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_primModNatS01(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_primModNatS01(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_primModNatS01(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_primMinusNatS0(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(vuz74000)) -> Succ(Zero) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_esEs(Pos(Succ(vuz2500))) -> False new_esEs(Pos(Zero)) -> True new_esEs(Neg(Succ(vuz2500))) -> False new_esEs(Neg(Zero)) -> True The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Pos(Succ(x0))) new_primModNatS01(x0, x1, Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_esEs(Neg(Succ(x0))) new_primMinusNatS0(Zero, Zero) new_primModNatS02(x0, x1) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (543) 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))))) ---------------------------------------- (544) 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_primModNatS01(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_primModNatS01(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_primModNatS01(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_primModNatS01(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_primMinusNatS0(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(vuz74000)) -> Succ(Zero) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_esEs(Pos(Succ(vuz2500))) -> False new_esEs(Pos(Zero)) -> True new_esEs(Neg(Succ(vuz2500))) -> False new_esEs(Neg(Zero)) -> True The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Pos(Succ(x0))) new_primModNatS01(x0, x1, Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_esEs(Neg(Succ(x0))) new_primMinusNatS0(Zero, Zero) new_primModNatS02(x0, x1) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (545) 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_primMinusNatS0(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_primMinusNatS0(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_primMinusNatS0(Succ(x2), Zero), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))))) ---------------------------------------- (546) 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_primModNatS01(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_primModNatS01(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_primModNatS01(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_primModNatS01(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_primMinusNatS0(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(vuz74000)) -> Succ(Zero) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_esEs(Pos(Succ(vuz2500))) -> False new_esEs(Pos(Zero)) -> True new_esEs(Neg(Succ(vuz2500))) -> False new_esEs(Neg(Zero)) -> True The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Pos(Succ(x0))) new_primModNatS01(x0, x1, Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_esEs(Neg(Succ(x0))) new_primMinusNatS0(Zero, Zero) new_primModNatS02(x0, x1) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (547) 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_primMinusNatS0(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)))))) ---------------------------------------- (548) 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_primModNatS01(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_primModNatS01(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_primModNatS01(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_primModNatS01(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(vuz74000)) -> Succ(Zero) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_esEs(Pos(Succ(vuz2500))) -> False new_esEs(Pos(Zero)) -> True new_esEs(Neg(Succ(vuz2500))) -> False new_esEs(Neg(Zero)) -> True The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Pos(Succ(x0))) new_primModNatS01(x0, x1, Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_esEs(Neg(Succ(x0))) new_primMinusNatS0(Zero, Zero) new_primModNatS02(x0, x1) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (549) 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_primModNatS01(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_primModNatS01(x0, Zero, x0, Zero)))) ---------------------------------------- (550) 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_primModNatS01(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_primModNatS01(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_primModNatS01(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_primModNatS01(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_primModNatS01(x0, Zero, x0, Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_esEs(Pos(Succ(vuz2500))) -> False new_esEs(Pos(Zero)) -> True new_esEs(Neg(Succ(vuz2500))) -> False new_esEs(Neg(Zero)) -> True The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Pos(Succ(x0))) new_primModNatS01(x0, x1, Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_esEs(Neg(Succ(x0))) new_primMinusNatS0(Zero, Zero) new_primModNatS02(x0, x1) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (551) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (552) 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_primModNatS01(x0, Zero, x0, Zero))) new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(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_primModNatS01(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_primModNatS01(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_primModNatS01(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(vuz74000)) -> Succ(Zero) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_esEs(Pos(Succ(vuz2500))) -> False new_esEs(Pos(Zero)) -> True new_esEs(Neg(Succ(vuz2500))) -> False new_esEs(Neg(Zero)) -> True The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Pos(Succ(x0))) new_primModNatS01(x0, x1, Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_esEs(Neg(Succ(x0))) new_primMinusNatS0(Zero, Zero) new_primModNatS02(x0, x1) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (553) 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_primModNatS01(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_primModNatS01(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0))))))) ---------------------------------------- (554) 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_primModNatS01(x0, Zero, x0, Zero))) new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(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_primModNatS01(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_primModNatS01(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_primModNatS01(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_primModNatS01(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(vuz74000)) -> Succ(Zero) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_esEs(Pos(Succ(vuz2500))) -> False new_esEs(Pos(Zero)) -> True new_esEs(Neg(Succ(vuz2500))) -> False new_esEs(Neg(Zero)) -> True The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Pos(Succ(x0))) new_primModNatS01(x0, x1, Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_esEs(Neg(Succ(x0))) new_primMinusNatS0(Zero, Zero) new_primModNatS02(x0, x1) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (555) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (556) 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_primModNatS01(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_primModNatS01(x0, Zero, x0, Zero))) new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(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_primModNatS01(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_primModNatS01(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_primModNatS01(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(vuz74000)) -> Succ(Zero) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_esEs(Pos(Succ(vuz2500))) -> False new_esEs(Pos(Zero)) -> True new_esEs(Neg(Succ(vuz2500))) -> False new_esEs(Neg(Zero)) -> True The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Pos(Succ(x0))) new_primModNatS01(x0, x1, Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_esEs(Neg(Succ(x0))) new_primMinusNatS0(Zero, Zero) new_primModNatS02(x0, x1) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (557) 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_primModNatS01(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(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(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_primModNatS02(Zero, Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))))) (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(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_primModNatS01(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(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(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_primModNatS02(Succ(x2), Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))))) (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))))) ---------------------------------------- (558) 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_primModNatS01(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_primModNatS01(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_primModNatS01(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_primModNatS01(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_primModNatS01(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(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(Zero, Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(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(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(Succ(x2), Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) 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(vuz74000)) -> Succ(Zero) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_esEs(Pos(Succ(vuz2500))) -> False new_esEs(Pos(Zero)) -> True new_esEs(Neg(Succ(vuz2500))) -> False new_esEs(Neg(Zero)) -> True The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Pos(Succ(x0))) new_primModNatS01(x0, x1, Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_esEs(Neg(Succ(x0))) new_primMinusNatS0(Zero, Zero) new_primModNatS02(x0, x1) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (559) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 3 SCCs with 1 less node. ---------------------------------------- (560) Complex Obligation (AND) ---------------------------------------- (561) 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_primModNatS02(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(vuz74000)) -> Succ(Zero) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_esEs(Pos(Succ(vuz2500))) -> False new_esEs(Pos(Zero)) -> True new_esEs(Neg(Succ(vuz2500))) -> False new_esEs(Neg(Zero)) -> True The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Pos(Succ(x0))) new_primModNatS01(x0, x1, Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_esEs(Neg(Succ(x0))) new_primMinusNatS0(Zero, Zero) new_primModNatS02(x0, x1) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (562) 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. ---------------------------------------- (563) 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_primModNatS02(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(vuz74000)) -> Succ(Zero) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_esEs(Pos(Succ(vuz2500))) -> False new_esEs(Pos(Zero)) -> True The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Pos(Succ(x0))) new_primModNatS01(x0, x1, Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_esEs(Neg(Succ(x0))) new_primMinusNatS0(Zero, Zero) new_primModNatS02(x0, x1) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (564) 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_primModNatS02(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_primMinusNatS0(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_primMinusNatS0(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))))) ---------------------------------------- (565) 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_primMinusNatS0(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(vuz74000)) -> Succ(Zero) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_esEs(Pos(Succ(vuz2500))) -> False new_esEs(Pos(Zero)) -> True The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Pos(Succ(x0))) new_primModNatS01(x0, x1, Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_esEs(Neg(Succ(x0))) new_primMinusNatS0(Zero, Zero) new_primModNatS02(x0, x1) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (566) 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_primMinusNatS0(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_primMinusNatS0(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_primMinusNatS0(Succ(x2), Zero), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))))) ---------------------------------------- (567) 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_primMinusNatS0(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(vuz74000)) -> Succ(Zero) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_esEs(Pos(Succ(vuz2500))) -> False new_esEs(Pos(Zero)) -> True The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Pos(Succ(x0))) new_primModNatS01(x0, x1, Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_esEs(Neg(Succ(x0))) new_primMinusNatS0(Zero, Zero) new_primModNatS02(x0, x1) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (568) 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_primMinusNatS0(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)))))) ---------------------------------------- (569) 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(vuz74000)) -> Succ(Zero) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_esEs(Pos(Succ(vuz2500))) -> False new_esEs(Pos(Zero)) -> True The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Pos(Succ(x0))) new_primModNatS01(x0, x1, Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_esEs(Neg(Succ(x0))) new_primMinusNatS0(Zero, Zero) new_primModNatS02(x0, x1) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (570) 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_primModNatS01(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_primModNatS01(x0, Zero, x0, Zero)))) ---------------------------------------- (571) 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_primModNatS01(x0, Zero, x0, Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_esEs(Pos(Succ(vuz2500))) -> False new_esEs(Pos(Zero)) -> True The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Pos(Succ(x0))) new_primModNatS01(x0, x1, Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_esEs(Neg(Succ(x0))) new_primMinusNatS0(Zero, Zero) new_primModNatS02(x0, x1) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (572) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (573) 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_primModNatS01(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(vuz74000)) -> Succ(Zero) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_esEs(Pos(Succ(vuz2500))) -> False new_esEs(Pos(Zero)) -> True The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Pos(Succ(x0))) new_primModNatS01(x0, x1, Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_esEs(Neg(Succ(x0))) new_primMinusNatS0(Zero, Zero) new_primModNatS02(x0, x1) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (574) 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_primModNatS01(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_primModNatS01(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))))) ---------------------------------------- (575) 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_primModNatS01(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_primModNatS01(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(vuz74000)) -> Succ(Zero) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_esEs(Pos(Succ(vuz2500))) -> False new_esEs(Pos(Zero)) -> True The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Pos(Succ(x0))) new_primModNatS01(x0, x1, Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_esEs(Neg(Succ(x0))) new_primMinusNatS0(Zero, Zero) new_primModNatS02(x0, x1) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (576) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (577) 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_primModNatS01(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_primModNatS01(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(vuz74000)) -> Succ(Zero) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_esEs(Pos(Succ(vuz2500))) -> False new_esEs(Pos(Zero)) -> True The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Pos(Succ(x0))) new_primModNatS01(x0, x1, Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_esEs(Neg(Succ(x0))) new_primMinusNatS0(Zero, Zero) new_primModNatS02(x0, x1) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (578) 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_primModNatS01(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_primModNatS01(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_primModNatS01(x2, Zero, x2, Zero))) which results in the following constraint: (1) (new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(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_primModNatS01(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_primModNatS01(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_primModNatS01(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_primModNatS01(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_primModNatS01(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_primModNatS01(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_primModNatS01(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_primModNatS01(x1, x22, x23, x24)=Succ(x21) which results in the following new constraints: (5) (new_primModNatS02(x26, x25)=Succ(x21) & Zero=x25 & x26=Zero & Zero=Zero ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x26))))), Neg(Succ(Succ(Zero))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x26, Zero, x26, Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x26))))))) (6) (new_primModNatS01(x30, x29, x28, x27)=Succ(x21) & Zero=x29 & x30=Succ(x28) & Zero=Succ(x27) & (\/x31:new_primModNatS01(x30, x29, x28, x27)=Succ(x31) & Zero=x29 & x30=x28 & Zero=x27 ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x30))))), Neg(Succ(Succ(Zero))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x30, Zero, x30, Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x30))))))) ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x30))))), Neg(Succ(Succ(Zero))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x30, Zero, x30, Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x30))))))) (7) (new_primModNatS02(x34, x33)=Succ(x21) & Zero=x33 & x34=Succ(x32) & Zero=Zero ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x34))))), Neg(Succ(Succ(Zero))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(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_primModNatS01(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) (Zero=x38 & new_primModNatS02(x38, x25)=Succ(x21) & Zero=x25 ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Zero))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Zero, Zero, Zero, Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Zero))))))) 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) (Succ(x32)=x45 & new_primModNatS02(x45, x33)=Succ(x21) & Zero=x33 ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(x32)))))), Neg(Succ(Succ(Zero))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(x32), Zero, Succ(x32), Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Succ(x32)))))))) We solved constraint (8) using rules (I), (II).We simplified constraint (9) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x38, x25)=Succ(x21) which results in the following new constraint: (11) (new_primModNatS1(new_primMinusNatS0(Succ(x40), Succ(x39)), Succ(x39))=Succ(x21) & Zero=x40 & Zero=x39 ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Zero))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Zero, Zero, Zero, Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Zero))))))) 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(Zero))))), Neg(Succ(Succ(Zero))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Zero, Zero, Zero, Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Zero))))))) We simplified constraint (10) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x45, x33)=Succ(x21) which results in the following new constraint: (13) (new_primModNatS1(new_primMinusNatS0(Succ(x47), Succ(x46)), Succ(x46))=Succ(x21) & Succ(x32)=x47 & Zero=x46 ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(x32)))))), Neg(Succ(Succ(Zero))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(x32), Zero, Succ(x32), Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Succ(x32)))))))) 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(Succ(x32)))))), Neg(Succ(Succ(Zero))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(x32), Zero, Succ(x32), Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Succ(x32)))))))) 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_primModNatS01(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_primModNatS01(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_primModNatS01(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_primModNatS01(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_primModNatS01(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_primModNatS01(x7, Zero, x7, Zero)))) We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x7, x52, x53, x54)=Succ(Succ(Succ(x8))) which results in the following new constraints: (3) (new_primModNatS02(x56, x55)=Succ(Succ(Succ(x8))) & Zero=x55 & x56=Zero & Zero=Zero ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x56))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(x56, Zero, x56, Zero)))) (4) (new_primModNatS01(x60, x59, x58, x57)=Succ(Succ(Succ(x8))) & Zero=x59 & x60=Succ(x58) & Zero=Succ(x57) & (\/x61:new_primModNatS01(x60, x59, x58, x57)=Succ(Succ(Succ(x61))) & Zero=x59 & x60=x58 & Zero=x57 ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x60))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(x60, Zero, x60, Zero)))) ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x60))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(x60, Zero, x60, Zero)))) (5) (new_primModNatS02(x64, x63)=Succ(Succ(Succ(x8))) & Zero=x63 & x64=Succ(x62) & 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_primModNatS01(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_primModNatS01(x67, Zero, x67, Zero)))) We simplified constraint (3) using rules (I), (II), (III), (VII) which results in the following new constraint: (7) (Zero=x68 & new_primModNatS02(x68, x55)=Succ(Succ(Succ(x8))) & Zero=x55 ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(Zero, Zero, Zero, 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) (Succ(x62)=x75 & new_primModNatS02(x75, x63)=Succ(Succ(Succ(x8))) & Zero=x63 ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Succ(x62)))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(Succ(x62), Zero, Succ(x62), Zero)))) We solved constraint (6) using rules (I), (II).We simplified constraint (7) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x68, x55)=Succ(Succ(Succ(x8))) which results in the following new constraint: (9) (new_primModNatS1(new_primMinusNatS0(Succ(x70), Succ(x69)), Succ(x69))=Succ(Succ(Succ(x8))) & Zero=x70 & Zero=x69 ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(Zero, Zero, Zero, 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(Zero))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(Zero, Zero, Zero, Zero)))) We simplified constraint (8) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x75, x63)=Succ(Succ(Succ(x8))) which results in the following new constraint: (11) (new_primModNatS1(new_primMinusNatS0(Succ(x77), Succ(x76)), Succ(x76))=Succ(Succ(Succ(x8))) & Succ(x62)=x77 & Zero=x76 ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Succ(x62)))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(Succ(x62), Zero, Succ(x62), 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(Succ(x62)))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(Succ(x62), Zero, Succ(x62), 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_primModNatS01(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_primModNatS01(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) *(new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Zero))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Zero, Zero, Zero, Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Zero))))))) *(new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(x32)))))), Neg(Succ(Succ(Zero))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(x32), Zero, Succ(x32), Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Succ(x32)))))))) *new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(x0, Zero, x0, Zero))) *(new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(Zero, Zero, Zero, Zero)))) *(new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Succ(x62)))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(Succ(x62), Zero, Succ(x62), 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. ---------------------------------------- (579) 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_primModNatS01(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_primModNatS01(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(vuz74000)) -> Succ(Zero) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_esEs(Pos(Succ(vuz2500))) -> False new_esEs(Pos(Zero)) -> True The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Pos(Succ(x0))) new_primModNatS01(x0, x1, Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_esEs(Neg(Succ(x0))) new_primMinusNatS0(Zero, Zero) new_primModNatS02(x0, x1) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (580) 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_primModNatS01(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_primModNatS01(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(vuz74000)) -> Succ(Zero) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_esEs(Pos(Succ(vuz2500))) -> False new_esEs(Pos(Zero)) -> True new_esEs(Neg(Succ(vuz2500))) -> False new_esEs(Neg(Zero)) -> True The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Pos(Succ(x0))) new_primModNatS01(x0, x1, Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_esEs(Neg(Succ(x0))) new_primMinusNatS0(Zero, Zero) new_primModNatS02(x0, x1) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (581) 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. ---------------------------------------- (582) 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_primModNatS01(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_primModNatS01(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(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) new_esEs(Neg(Succ(vuz2500))) -> False new_esEs(Neg(Zero)) -> True new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_esEs(Pos(Succ(vuz2500))) -> False The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Pos(Succ(x0))) new_primModNatS01(x0, x1, Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_esEs(Neg(Succ(x0))) new_primMinusNatS0(Zero, Zero) new_primModNatS02(x0, x1) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (583) 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))))) ---------------------------------------- (584) 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_primModNatS01(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_primModNatS01(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(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) new_esEs(Neg(Succ(vuz2500))) -> False new_esEs(Neg(Zero)) -> True new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_esEs(Pos(Succ(vuz2500))) -> False The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Pos(Succ(x0))) new_primModNatS01(x0, x1, Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_esEs(Neg(Succ(x0))) new_primMinusNatS0(Zero, Zero) new_primModNatS02(x0, x1) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (585) 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. ---------------------------------------- (586) 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_primModNatS01(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_primModNatS01(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(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) new_esEs(Neg(Succ(vuz2500))) -> False new_esEs(Neg(Zero)) -> True new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Pos(Succ(x0))) new_primModNatS01(x0, x1, Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_esEs(Neg(Succ(x0))) new_primMinusNatS0(Zero, Zero) new_primModNatS02(x0, x1) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (587) 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_primModNatS01(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_primModNatS01(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_primModNatS01(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_primModNatS01(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_primModNatS01(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_primModNatS01(x3, Zero, x3, Zero)))) We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x3, x20, x21, x22)=Succ(Succ(Succ(x4))) which results in the following new constraints: (3) (new_primModNatS02(x24, x23)=Succ(Succ(Succ(x4))) & Zero=x23 & x24=Zero & Zero=Zero ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x24))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(x24, Zero, x24, Zero)))) (4) (new_primModNatS01(x28, x27, x26, x25)=Succ(Succ(Succ(x4))) & Zero=x27 & x28=Succ(x26) & Zero=Succ(x25) & (\/x29:new_primModNatS01(x28, x27, x26, x25)=Succ(Succ(Succ(x29))) & Zero=x27 & x28=x26 & Zero=x25 ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x28))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(x28, Zero, x28, Zero)))) ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x28))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(x28, Zero, x28, Zero)))) (5) (new_primModNatS02(x32, x31)=Succ(Succ(Succ(x4))) & Zero=x31 & x32=Succ(x30) & 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_primModNatS01(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_primModNatS01(x35, Zero, x35, Zero)))) We simplified constraint (3) using rules (I), (II), (III), (VII) which results in the following new constraint: (7) (Zero=x36 & new_primModNatS02(x36, x23)=Succ(Succ(Succ(x4))) & Zero=x23 ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(Zero, Zero, Zero, 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) (Succ(x30)=x43 & new_primModNatS02(x43, x31)=Succ(Succ(Succ(x4))) & Zero=x31 ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Succ(x30)))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(Succ(x30), Zero, Succ(x30), Zero)))) We solved constraint (6) using rules (I), (II).We simplified constraint (7) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x36, x23)=Succ(Succ(Succ(x4))) which results in the following new constraint: (9) (new_primModNatS1(new_primMinusNatS0(Succ(x38), Succ(x37)), Succ(x37))=Succ(Succ(Succ(x4))) & Zero=x38 & Zero=x37 ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(Zero, Zero, Zero, 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(Zero))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(Zero, Zero, Zero, Zero)))) We simplified constraint (8) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x43, x31)=Succ(Succ(Succ(x4))) which results in the following new constraint: (11) (new_primModNatS1(new_primMinusNatS0(Succ(x45), Succ(x44)), Succ(x44))=Succ(Succ(Succ(x4))) & Succ(x30)=x45 & Zero=x44 ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Succ(x30)))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(Succ(x30), Zero, Succ(x30), 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(Succ(x30)))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(Succ(x30), Zero, Succ(x30), 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_primModNatS01(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_primModNatS01(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_primModNatS01(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_primModNatS01(x11, Zero, x11, Zero))) which results in the following constraint: (1) (new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(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_primModNatS01(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_primModNatS01(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_primModNatS01(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_primModNatS01(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_primModNatS01(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_primModNatS01(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_primModNatS01(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_primModNatS01(x10, x52, x53, x54)=Succ(x51) which results in the following new constraints: (5) (new_primModNatS02(x56, x55)=Succ(x51) & Zero=x55 & x56=Zero & Zero=Zero ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x56))))), Pos(Succ(Succ(Zero))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x56, Zero, x56, Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x56))))))) (6) (new_primModNatS01(x60, x59, x58, x57)=Succ(x51) & Zero=x59 & x60=Succ(x58) & Zero=Succ(x57) & (\/x61:new_primModNatS01(x60, x59, x58, x57)=Succ(x61) & Zero=x59 & x60=x58 & Zero=x57 ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x60))))), Pos(Succ(Succ(Zero))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x60, Zero, x60, Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x60))))))) ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x60))))), Pos(Succ(Succ(Zero))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x60, Zero, x60, Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x60))))))) (7) (new_primModNatS02(x64, x63)=Succ(x51) & Zero=x63 & x64=Succ(x62) & Zero=Zero ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x64))))), Pos(Succ(Succ(Zero))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(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_primModNatS01(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) (Zero=x68 & new_primModNatS02(x68, x55)=Succ(x51) & Zero=x55 ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Zero))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Zero, Zero, Zero, Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Zero))))))) 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) (Succ(x62)=x75 & new_primModNatS02(x75, x63)=Succ(x51) & Zero=x63 ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(x62)))))), Pos(Succ(Succ(Zero))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(x62), Zero, Succ(x62), Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Succ(x62)))))))) We solved constraint (8) using rules (I), (II).We simplified constraint (9) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x68, x55)=Succ(x51) which results in the following new constraint: (11) (new_primModNatS1(new_primMinusNatS0(Succ(x70), Succ(x69)), Succ(x69))=Succ(x51) & Zero=x70 & Zero=x69 ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Zero))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Zero, Zero, Zero, Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Zero))))))) 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(Zero))))), Pos(Succ(Succ(Zero))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Zero, Zero, Zero, Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Zero))))))) We simplified constraint (10) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x75, x63)=Succ(x51) which results in the following new constraint: (13) (new_primModNatS1(new_primMinusNatS0(Succ(x77), Succ(x76)), Succ(x76))=Succ(x51) & Succ(x62)=x77 & Zero=x76 ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(x62)))))), Pos(Succ(Succ(Zero))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(x62), Zero, Succ(x62), Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Succ(x62)))))))) 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(Succ(x62)))))), Pos(Succ(Succ(Zero))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(x62), Zero, Succ(x62), Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Succ(x62)))))))) 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_primModNatS01(x0, Zero, x0, Zero))) *(new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(Zero, Zero, Zero, Zero)))) *(new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Succ(x30)))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(Succ(x30), Zero, Succ(x30), 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_primModNatS01(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) *(new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Zero))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Zero, Zero, Zero, Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Zero))))))) *(new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(x62)))))), Pos(Succ(Succ(Zero))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(x62), Zero, Succ(x62), Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Succ(x62)))))))) *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. ---------------------------------------- (588) 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_primModNatS01(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_primModNatS01(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(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) new_esEs(Neg(Succ(vuz2500))) -> False new_esEs(Neg(Zero)) -> True new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Pos(Succ(x0))) new_primModNatS01(x0, x1, Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_esEs(Neg(Succ(x0))) new_primMinusNatS0(Zero, Zero) new_primModNatS02(x0, x1) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (589) 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_primModNatS01(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_primModNatS01(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_primModNatS01(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_primModNatS01(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(vuz74000)) -> Succ(Zero) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_esEs(Pos(Succ(vuz2500))) -> False new_esEs(Pos(Zero)) -> True new_esEs(Neg(Succ(vuz2500))) -> False new_esEs(Neg(Zero)) -> True The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Pos(Succ(x0))) new_primModNatS01(x0, x1, Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_esEs(Neg(Succ(x0))) new_primMinusNatS0(Zero, Zero) new_primModNatS02(x0, x1) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (590) 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_primModNatS01(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(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(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_primModNatS02(Succ(Zero), 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(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(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_primModNatS01(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_primModNatS02(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_primModNatS02(Succ(Succ(x2)), 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(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)))))) ---------------------------------------- (591) 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_primModNatS01(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_primModNatS01(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_primModNatS01(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(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(Succ(Zero), 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(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(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_primModNatS02(Succ(Succ(x2)), 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(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(vuz74000)) -> Succ(Zero) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_esEs(Pos(Succ(vuz2500))) -> False new_esEs(Pos(Zero)) -> True new_esEs(Neg(Succ(vuz2500))) -> False new_esEs(Neg(Zero)) -> True The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Pos(Succ(x0))) new_primModNatS01(x0, x1, Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_esEs(Neg(Succ(x0))) new_primMinusNatS0(Zero, Zero) new_primModNatS02(x0, x1) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (592) 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_primModNatS02(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_primMinusNatS0(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_primMinusNatS0(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))))) ---------------------------------------- (593) 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_primModNatS01(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_primModNatS01(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_primModNatS01(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_primModNatS01(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_primModNatS02(Succ(Succ(x2)), 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(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(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS0(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(vuz74000)) -> Succ(Zero) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_esEs(Pos(Succ(vuz2500))) -> False new_esEs(Pos(Zero)) -> True new_esEs(Neg(Succ(vuz2500))) -> False new_esEs(Neg(Zero)) -> True The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Pos(Succ(x0))) new_primModNatS01(x0, x1, Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_esEs(Neg(Succ(x0))) new_primMinusNatS0(Zero, Zero) new_primModNatS02(x0, x1) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (594) 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_primModNatS02(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_primMinusNatS0(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_primMinusNatS0(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))))) ---------------------------------------- (595) 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_primModNatS01(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_primModNatS01(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_primModNatS01(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_primModNatS01(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(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS0(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(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS0(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(vuz74000)) -> Succ(Zero) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_esEs(Pos(Succ(vuz2500))) -> False new_esEs(Pos(Zero)) -> True new_esEs(Neg(Succ(vuz2500))) -> False new_esEs(Neg(Zero)) -> True The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Pos(Succ(x0))) new_primModNatS01(x0, x1, Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_esEs(Neg(Succ(x0))) new_primMinusNatS0(Zero, Zero) new_primModNatS02(x0, x1) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (596) 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)))))) ---------------------------------------- (597) 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_primModNatS01(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_primModNatS01(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_primModNatS01(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_primModNatS01(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_primMinusNatS0(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(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS0(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(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(vuz74000)) -> Succ(Zero) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_esEs(Pos(Succ(vuz2500))) -> False new_esEs(Pos(Zero)) -> True new_esEs(Neg(Succ(vuz2500))) -> False new_esEs(Neg(Zero)) -> True The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Pos(Succ(x0))) new_primModNatS01(x0, x1, Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_esEs(Neg(Succ(x0))) new_primMinusNatS0(Zero, Zero) new_primModNatS02(x0, x1) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (598) 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_primMinusNatS0(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_primMinusNatS0(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_primMinusNatS0(Succ(Zero), Succ(Zero)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))))) ---------------------------------------- (599) 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_primModNatS01(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_primModNatS01(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_primModNatS01(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_primModNatS01(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_primMinusNatS0(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(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_primMinusNatS0(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(vuz74000)) -> Succ(Zero) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_esEs(Pos(Succ(vuz2500))) -> False new_esEs(Pos(Zero)) -> True new_esEs(Neg(Succ(vuz2500))) -> False new_esEs(Neg(Zero)) -> True The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Pos(Succ(x0))) new_primModNatS01(x0, x1, Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_esEs(Neg(Succ(x0))) new_primMinusNatS0(Zero, Zero) new_primModNatS02(x0, x1) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (600) 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_primMinusNatS0(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_primMinusNatS0(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_primMinusNatS0(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))))) ---------------------------------------- (601) 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_primModNatS01(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_primModNatS01(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_primModNatS01(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_primModNatS01(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_primMinusNatS0(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_primMinusNatS0(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(vuz74000)) -> Succ(Zero) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_esEs(Pos(Succ(vuz2500))) -> False new_esEs(Pos(Zero)) -> True new_esEs(Neg(Succ(vuz2500))) -> False new_esEs(Neg(Zero)) -> True The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Pos(Succ(x0))) new_primModNatS01(x0, x1, Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_esEs(Neg(Succ(x0))) new_primMinusNatS0(Zero, Zero) new_primModNatS02(x0, x1) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (602) 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_primMinusNatS0(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_primMinusNatS0(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_primMinusNatS0(Zero, Zero), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))))) ---------------------------------------- (603) 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_primModNatS01(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_primModNatS01(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_primModNatS01(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_primModNatS01(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_primMinusNatS0(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_primMinusNatS0(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(vuz74000)) -> Succ(Zero) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_esEs(Pos(Succ(vuz2500))) -> False new_esEs(Pos(Zero)) -> True new_esEs(Neg(Succ(vuz2500))) -> False new_esEs(Neg(Zero)) -> True The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Pos(Succ(x0))) new_primModNatS01(x0, x1, Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_esEs(Neg(Succ(x0))) new_primMinusNatS0(Zero, Zero) new_primModNatS02(x0, x1) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (604) 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_primMinusNatS0(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_primMinusNatS0(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_primMinusNatS0(Succ(x2), Zero), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))))) ---------------------------------------- (605) 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_primModNatS01(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_primModNatS01(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_primModNatS01(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_primModNatS01(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_primMinusNatS0(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(new_primMinusNatS0(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(vuz74000)) -> Succ(Zero) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_esEs(Pos(Succ(vuz2500))) -> False new_esEs(Pos(Zero)) -> True new_esEs(Neg(Succ(vuz2500))) -> False new_esEs(Neg(Zero)) -> True The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Pos(Succ(x0))) new_primModNatS01(x0, x1, Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_esEs(Neg(Succ(x0))) new_primMinusNatS0(Zero, Zero) new_primModNatS02(x0, x1) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (606) 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_primMinusNatS0(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)))))) ---------------------------------------- (607) 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_primModNatS01(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_primModNatS01(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_primModNatS01(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_primModNatS01(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_primMinusNatS0(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(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(vuz74000)) -> Succ(Zero) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_esEs(Pos(Succ(vuz2500))) -> False new_esEs(Pos(Zero)) -> True new_esEs(Neg(Succ(vuz2500))) -> False new_esEs(Neg(Zero)) -> True The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Pos(Succ(x0))) new_primModNatS01(x0, x1, Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_esEs(Neg(Succ(x0))) new_primMinusNatS0(Zero, Zero) new_primModNatS02(x0, x1) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (608) 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_primMinusNatS0(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))))))) ---------------------------------------- (609) 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_primModNatS01(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_primModNatS01(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_primModNatS01(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_primModNatS01(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(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(vuz74000)) -> Succ(Zero) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_esEs(Pos(Succ(vuz2500))) -> False new_esEs(Pos(Zero)) -> True new_esEs(Neg(Succ(vuz2500))) -> False new_esEs(Neg(Zero)) -> True The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Pos(Succ(x0))) new_primModNatS01(x0, x1, Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_esEs(Neg(Succ(x0))) new_primMinusNatS0(Zero, Zero) new_primModNatS02(x0, x1) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (610) 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)))))) ---------------------------------------- (611) 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_primModNatS01(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_primModNatS01(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_primModNatS01(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_primModNatS01(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(vuz74000)) -> Succ(Zero) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_esEs(Pos(Succ(vuz2500))) -> False new_esEs(Pos(Zero)) -> True new_esEs(Neg(Succ(vuz2500))) -> False new_esEs(Neg(Zero)) -> True The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Pos(Succ(x0))) new_primModNatS01(x0, x1, Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_esEs(Neg(Succ(x0))) new_primMinusNatS0(Zero, Zero) new_primModNatS02(x0, x1) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (612) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (613) 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_primModNatS01(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_primModNatS01(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_primModNatS01(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_primModNatS01(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(vuz74000)) -> Succ(Zero) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_esEs(Pos(Succ(vuz2500))) -> False new_esEs(Pos(Zero)) -> True new_esEs(Neg(Succ(vuz2500))) -> False new_esEs(Neg(Zero)) -> True The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Pos(Succ(x0))) new_primModNatS01(x0, x1, Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_esEs(Neg(Succ(x0))) new_primMinusNatS0(Zero, Zero) new_primModNatS02(x0, x1) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (614) 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_primModNatS01(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(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(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_primModNatS02(Succ(Zero), Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(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_primModNatS01(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_primModNatS01(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(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(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_primModNatS02(Succ(Succ(x2)), 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(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)))))) ---------------------------------------- (615) 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_primModNatS01(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_primModNatS01(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_primModNatS01(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(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(Succ(Zero), Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(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_primModNatS01(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(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(Succ(Succ(x2)), 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(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(vuz74000)) -> Succ(Zero) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_esEs(Pos(Succ(vuz2500))) -> False new_esEs(Pos(Zero)) -> True new_esEs(Neg(Succ(vuz2500))) -> False new_esEs(Neg(Zero)) -> True The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Pos(Succ(x0))) new_primModNatS01(x0, x1, Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_esEs(Neg(Succ(x0))) new_primMinusNatS0(Zero, Zero) new_primModNatS02(x0, x1) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (616) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (617) 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_primModNatS01(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_primModNatS01(Succ(x2), 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_primModNatS01(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_primModNatS01(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(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(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(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(vuz74000)) -> Succ(Zero) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_esEs(Pos(Succ(vuz2500))) -> False new_esEs(Pos(Zero)) -> True new_esEs(Neg(Succ(vuz2500))) -> False new_esEs(Neg(Zero)) -> True The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Pos(Succ(x0))) new_primModNatS01(x0, x1, Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_esEs(Neg(Succ(x0))) new_primMinusNatS0(Zero, Zero) new_primModNatS02(x0, x1) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (618) 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_primModNatS02(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_primMinusNatS0(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_primMinusNatS0(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))))) ---------------------------------------- (619) 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_primModNatS01(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_primModNatS01(Succ(x2), 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_primModNatS01(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_primModNatS01(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(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(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_primMinusNatS0(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(vuz74000)) -> Succ(Zero) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_esEs(Pos(Succ(vuz2500))) -> False new_esEs(Pos(Zero)) -> True new_esEs(Neg(Succ(vuz2500))) -> False new_esEs(Neg(Zero)) -> True The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Pos(Succ(x0))) new_primModNatS01(x0, x1, Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_esEs(Neg(Succ(x0))) new_primMinusNatS0(Zero, Zero) new_primModNatS02(x0, x1) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (620) 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)))))) ---------------------------------------- (621) 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_primModNatS01(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_primModNatS01(Succ(x2), 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_primModNatS01(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_primModNatS01(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(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'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_primMinusNatS0(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(vuz74000)) -> Succ(Zero) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_esEs(Pos(Succ(vuz2500))) -> False new_esEs(Pos(Zero)) -> True new_esEs(Neg(Succ(vuz2500))) -> False new_esEs(Neg(Zero)) -> True The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Pos(Succ(x0))) new_primModNatS01(x0, x1, Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_esEs(Neg(Succ(x0))) new_primMinusNatS0(Zero, Zero) new_primModNatS02(x0, x1) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (622) 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_primMinusNatS0(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_primMinusNatS0(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_primMinusNatS0(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))))) ---------------------------------------- (623) 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_primModNatS01(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_primModNatS01(Succ(x2), 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_primModNatS01(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_primModNatS01(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(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'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_primMinusNatS0(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(vuz74000)) -> Succ(Zero) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_esEs(Pos(Succ(vuz2500))) -> False new_esEs(Pos(Zero)) -> True new_esEs(Neg(Succ(vuz2500))) -> False new_esEs(Neg(Zero)) -> True The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Pos(Succ(x0))) new_primModNatS01(x0, x1, Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_esEs(Neg(Succ(x0))) new_primMinusNatS0(Zero, Zero) new_primModNatS02(x0, x1) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (624) 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_primMinusNatS0(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_primMinusNatS0(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_primMinusNatS0(Succ(x2), Zero), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))))) ---------------------------------------- (625) 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_primModNatS01(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_primModNatS01(Succ(x2), 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_primModNatS01(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_primModNatS01(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(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'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_primMinusNatS0(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(vuz74000)) -> Succ(Zero) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_esEs(Pos(Succ(vuz2500))) -> False new_esEs(Pos(Zero)) -> True new_esEs(Neg(Succ(vuz2500))) -> False new_esEs(Neg(Zero)) -> True The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Pos(Succ(x0))) new_primModNatS01(x0, x1, Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_esEs(Neg(Succ(x0))) new_primMinusNatS0(Zero, Zero) new_primModNatS02(x0, x1) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (626) 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_primMinusNatS0(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))))))) ---------------------------------------- (627) 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_primModNatS01(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_primModNatS01(Succ(x2), 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_primModNatS01(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_primModNatS01(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(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'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(vuz74000)) -> Succ(Zero) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_esEs(Pos(Succ(vuz2500))) -> False new_esEs(Pos(Zero)) -> True new_esEs(Neg(Succ(vuz2500))) -> False new_esEs(Neg(Zero)) -> True The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Pos(Succ(x0))) new_primModNatS01(x0, x1, Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_esEs(Neg(Succ(x0))) new_primMinusNatS0(Zero, Zero) new_primModNatS02(x0, x1) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (628) 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_primModNatS01(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(Zero))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(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_primModNatS02(Succ(Zero), 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_primModNatS01(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_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)))) (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_primModNatS02(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_primModNatS02(Succ(Succ(x2)), 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)))))) ---------------------------------------- (629) 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_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(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_primModNatS01(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_primModNatS01(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(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'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(Zero))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Zero), 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_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 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_primModNatS02(Succ(Succ(x2)), 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(vuz74000)) -> Succ(Zero) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_esEs(Pos(Succ(vuz2500))) -> False new_esEs(Pos(Zero)) -> True new_esEs(Neg(Succ(vuz2500))) -> False new_esEs(Neg(Zero)) -> True The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Pos(Succ(x0))) new_primModNatS01(x0, x1, Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_esEs(Neg(Succ(x0))) new_primMinusNatS0(Zero, Zero) new_primModNatS02(x0, x1) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (630) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 3 SCCs with 1 less node. ---------------------------------------- (631) Complex Obligation (AND) ---------------------------------------- (632) 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(vuz74000)) -> Succ(Zero) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_esEs(Pos(Succ(vuz2500))) -> False new_esEs(Pos(Zero)) -> True new_esEs(Neg(Succ(vuz2500))) -> False new_esEs(Neg(Zero)) -> True The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Pos(Succ(x0))) new_primModNatS01(x0, x1, Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_esEs(Neg(Succ(x0))) new_primMinusNatS0(Zero, Zero) new_primModNatS02(x0, x1) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (633) 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. ---------------------------------------- (634) 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(vuz74000)) -> Succ(Zero) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_esEs(Pos(Succ(vuz2500))) -> False new_esEs(Pos(Zero)) -> True The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Pos(Succ(x0))) new_primModNatS01(x0, x1, Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_esEs(Neg(Succ(x0))) new_primMinusNatS0(Zero, Zero) new_primModNatS02(x0, x1) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (635) 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_primModNatS01(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_primModNatS01(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_primModNatS01(x26, x25, x28, x29)=Succ(x21) which results in the following new constraints: (9) (new_primModNatS02(x31, x30)=Succ(x21) & x31=Zero & x30=Zero & Succ(Zero)=x30 ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(x31)))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(Succ(x31)), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(x31)))))))) (10) (new_primModNatS01(x35, x34, x33, x32)=Succ(x21) & x35=Succ(x33) & x34=Succ(x32) & Succ(Zero)=x34 & (\/x36:new_primModNatS01(x35, x34, x33, x32)=Succ(x36) & x35=x33 & x34=x32 & Succ(Zero)=x34 ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(x35)))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(Succ(x35)), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(x35)))))))) ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(x35)))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(Succ(x35)), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(x35)))))))) (11) (new_primModNatS02(x39, x38)=Succ(x21) & x39=Succ(x37) & 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(x33))))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(Succ(Succ(x33))), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x33))))))))) 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_primModNatS01(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_primModNatS01(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_primModNatS01(x49, x48, x51, x52)=Succ(Succ(Succ(Succ(x16)))) which results in the following new constraints: (6) (new_primModNatS02(x54, x53)=Succ(Succ(Succ(Succ(x16)))) & x54=Zero & x53=Zero & Succ(Zero)=x53 ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(x54)))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(Succ(x54)), Succ(Succ(Zero)))))) (7) (new_primModNatS01(x58, x57, x56, x55)=Succ(Succ(Succ(Succ(x16)))) & x58=Succ(x56) & x57=Succ(x55) & Succ(Zero)=x57 & (\/x59:new_primModNatS01(x58, x57, x56, x55)=Succ(Succ(Succ(Succ(x59)))) & x58=x56 & x57=x55 & Succ(Zero)=x57 ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(x58)))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(Succ(x58)), Succ(Succ(Zero)))))) ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(x58)))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(Succ(x58)), Succ(Succ(Zero)))))) (8) (new_primModNatS02(x62, x61)=Succ(Succ(Succ(Succ(x16)))) & x62=Succ(x60) & 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(x56))))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(Succ(Succ(x56))), 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(x33))))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(Succ(Succ(x33))), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x33))))))))) *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(x56))))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(Succ(Succ(x56))), 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. ---------------------------------------- (636) 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(vuz74000)) -> Succ(Zero) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_esEs(Pos(Succ(vuz2500))) -> False new_esEs(Pos(Zero)) -> True The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Pos(Succ(x0))) new_primModNatS01(x0, x1, Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_esEs(Neg(Succ(x0))) new_primMinusNatS0(Zero, Zero) new_primModNatS02(x0, x1) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (637) 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_primModNatS02(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(vuz74000)) -> Succ(Zero) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_esEs(Pos(Succ(vuz2500))) -> False new_esEs(Pos(Zero)) -> True new_esEs(Neg(Succ(vuz2500))) -> False new_esEs(Neg(Zero)) -> True The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Pos(Succ(x0))) new_primModNatS01(x0, x1, Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_esEs(Neg(Succ(x0))) new_primMinusNatS0(Zero, Zero) new_primModNatS02(x0, x1) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (638) 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. ---------------------------------------- (639) 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_primModNatS02(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(vuz74000)) -> Succ(Zero) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) new_esEs(Neg(Succ(vuz2500))) -> False new_esEs(Neg(Zero)) -> True new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Pos(Succ(x0))) new_primModNatS01(x0, x1, Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_esEs(Neg(Succ(x0))) new_primMinusNatS0(Zero, Zero) new_primModNatS02(x0, x1) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (640) 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_primModNatS02(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_primMinusNatS0(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_primMinusNatS0(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero)))))) ---------------------------------------- (641) 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_primMinusNatS0(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) new_esEs(Neg(Succ(vuz2500))) -> False new_esEs(Neg(Zero)) -> True new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Pos(Succ(x0))) new_primModNatS01(x0, x1, Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_esEs(Neg(Succ(x0))) new_primMinusNatS0(Zero, Zero) new_primModNatS02(x0, x1) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (642) 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_primMinusNatS0(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_primMinusNatS0(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_primMinusNatS0(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero)))))) ---------------------------------------- (643) 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_primMinusNatS0(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) new_esEs(Neg(Succ(vuz2500))) -> False new_esEs(Neg(Zero)) -> True new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Pos(Succ(x0))) new_primModNatS01(x0, x1, Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_esEs(Neg(Succ(x0))) new_primMinusNatS0(Zero, Zero) new_primModNatS02(x0, x1) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (644) 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_primMinusNatS0(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_primMinusNatS0(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_primMinusNatS0(Succ(x2), Zero), Succ(Succ(Zero)))))) ---------------------------------------- (645) 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_primMinusNatS0(Succ(x2), Zero), Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) new_esEs(Neg(Succ(vuz2500))) -> False new_esEs(Neg(Zero)) -> True new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Pos(Succ(x0))) new_primModNatS01(x0, x1, Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_esEs(Neg(Succ(x0))) new_primMinusNatS0(Zero, Zero) new_primModNatS02(x0, x1) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (646) 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_primMinusNatS0(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)))))) ---------------------------------------- (647) 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(vuz74000)) -> Succ(Zero) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) new_esEs(Neg(Succ(vuz2500))) -> False new_esEs(Neg(Zero)) -> True new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Pos(Succ(x0))) new_primModNatS01(x0, x1, Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_esEs(Neg(Succ(x0))) new_primMinusNatS0(Zero, Zero) new_primModNatS02(x0, x1) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (648) 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_primModNatS01(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_primModNatS01(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_primModNatS01(x26, x25, x28, x29)=Succ(x21) which results in the following new constraints: (9) (new_primModNatS02(x31, x30)=Succ(x21) & x31=Zero & x30=Zero & Succ(Zero)=x30 ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(x31)))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(Succ(x31)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(x31)))))))) (10) (new_primModNatS01(x35, x34, x33, x32)=Succ(x21) & x35=Succ(x33) & x34=Succ(x32) & Succ(Zero)=x34 & (\/x36:new_primModNatS01(x35, x34, x33, x32)=Succ(x36) & x35=x33 & x34=x32 & Succ(Zero)=x34 ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(x35)))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(Succ(x35)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(x35)))))))) ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(x35)))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(Succ(x35)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(x35)))))))) (11) (new_primModNatS02(x39, x38)=Succ(x21) & x39=Succ(x37) & 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(x33))))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(Succ(Succ(x33))), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x33))))))))) 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_primModNatS01(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_primModNatS01(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_primModNatS01(x49, x48, x51, x52)=Succ(Succ(Succ(Succ(x16)))) which results in the following new constraints: (6) (new_primModNatS02(x54, x53)=Succ(Succ(Succ(Succ(x16)))) & x54=Zero & x53=Zero & Succ(Zero)=x53 ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(x54)))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(Succ(x54)), Succ(Succ(Zero)))))) (7) (new_primModNatS01(x58, x57, x56, x55)=Succ(Succ(Succ(Succ(x16)))) & x58=Succ(x56) & x57=Succ(x55) & Succ(Zero)=x57 & (\/x59:new_primModNatS01(x58, x57, x56, x55)=Succ(Succ(Succ(Succ(x59)))) & x58=x56 & x57=x55 & Succ(Zero)=x57 ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(x58)))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(Succ(x58)), Succ(Succ(Zero)))))) ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(x58)))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(Succ(x58)), Succ(Succ(Zero)))))) (8) (new_primModNatS02(x62, x61)=Succ(Succ(Succ(Succ(x16)))) & x62=Succ(x60) & 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(x56))))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(Succ(Succ(x56))), 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(x33))))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(Succ(Succ(x33))), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x33))))))))) *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(x56))))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(Succ(Succ(x56))), 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. ---------------------------------------- (649) 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(vuz74000)) -> Succ(Zero) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) new_esEs(Neg(Succ(vuz2500))) -> False new_esEs(Neg(Zero)) -> True new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Pos(Succ(x0))) new_primModNatS01(x0, x1, Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_esEs(Neg(Succ(x0))) new_primMinusNatS0(Zero, Zero) new_primModNatS02(x0, x1) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (650) 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_primModNatS01(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_primModNatS01(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_primModNatS01(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_primModNatS01(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(vuz74000)) -> Succ(Zero) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_esEs(Pos(Succ(vuz2500))) -> False new_esEs(Pos(Zero)) -> True new_esEs(Neg(Succ(vuz2500))) -> False new_esEs(Neg(Zero)) -> True The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Pos(Succ(x0))) new_primModNatS01(x0, x1, Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_esEs(Neg(Succ(x0))) new_primMinusNatS0(Zero, Zero) new_primModNatS02(x0, x1) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (651) 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_primModNatS01(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_primModNatS01(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_primModNatS01(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_primModNatS01(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_primModNatS01(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_primModNatS01(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_primModNatS01(Succ(Succ(x3)), Succ(Succ(x2)), x3, x2)))) We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x40, x41, x3, x2)=Succ(Succ(Succ(Succ(x5)))) which results in the following new constraints: (3) (new_primModNatS02(x43, x42)=Succ(Succ(Succ(Succ(x5)))) & Succ(Succ(Zero))=x43 & Succ(Succ(Zero))=x42 ==> 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_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero)))) (4) (new_primModNatS01(x47, x46, x45, x44)=Succ(Succ(Succ(Succ(x5)))) & Succ(Succ(Succ(x45)))=x47 & Succ(Succ(Succ(x44)))=x46 & (\/x48:new_primModNatS01(x47, x46, x45, x44)=Succ(Succ(Succ(Succ(x48)))) & Succ(Succ(x45))=x47 & Succ(Succ(x44))=x46 ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x44))))), Neg(Succ(Succ(Succ(Succ(x45))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x44))))), Neg(new_primModNatS01(Succ(Succ(x45)), Succ(Succ(x44)), x45, x44)))) ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Succ(x44)))))), Neg(Succ(Succ(Succ(Succ(Succ(x45)))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(x44)))))), Neg(new_primModNatS01(Succ(Succ(Succ(x45))), Succ(Succ(Succ(x44))), Succ(x45), Succ(x44))))) (5) (new_primModNatS02(x51, x50)=Succ(Succ(Succ(Succ(x5)))) & Succ(Succ(Succ(x49)))=x51 & Succ(Succ(Zero))=x50 ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Succ(x49)))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(new_primModNatS01(Succ(Succ(Succ(x49))), Succ(Succ(Zero)), Succ(x49), 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_primModNatS01(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_primModNatS02(x43, x42)=Succ(Succ(Succ(Succ(x5)))) which results in the following new constraint: (7) (new_primModNatS1(new_primMinusNatS0(Succ(x56), Succ(x55)), Succ(x55))=Succ(Succ(Succ(Succ(x5)))) & Succ(Succ(Zero))=x56 & Succ(Succ(Zero))=x55 ==> 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_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero)))) We simplified constraint (4) using rule (IV) which results in the following new constraint: (8) (new_primModNatS01(x47, x46, x45, x44)=Succ(Succ(Succ(Succ(x5)))) & Succ(Succ(Succ(x45)))=x47 & Succ(Succ(Succ(x44)))=x46 ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Succ(x44)))))), Neg(Succ(Succ(Succ(Succ(Succ(x45)))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(x44)))))), Neg(new_primModNatS01(Succ(Succ(Succ(x45))), Succ(Succ(Succ(x44))), Succ(x45), Succ(x44))))) We simplified constraint (5) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x51, x50)=Succ(Succ(Succ(Succ(x5)))) which results in the following new constraint: (9) (new_primModNatS1(new_primMinusNatS0(Succ(x75), Succ(x74)), Succ(x74))=Succ(Succ(Succ(Succ(x5)))) & Succ(Succ(Succ(x49)))=x75 & Succ(Succ(Zero))=x74 ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Succ(x49)))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(new_primModNatS01(Succ(Succ(Succ(x49))), Succ(Succ(Zero)), Succ(x49), 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_primModNatS01(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(Zero))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero)))) We simplified constraint (8) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x47, x46, x45, x44)=Succ(Succ(Succ(Succ(x5)))) which results in the following new constraints: (12) (new_primModNatS02(x62, x61)=Succ(Succ(Succ(Succ(x5)))) & Succ(Succ(Succ(Zero)))=x62 & Succ(Succ(Succ(Zero)))=x61 ==> 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_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero))))) (13) (new_primModNatS01(x66, x65, x64, x63)=Succ(Succ(Succ(Succ(x5)))) & Succ(Succ(Succ(Succ(x64))))=x66 & Succ(Succ(Succ(Succ(x63))))=x65 & (\/x67:new_primModNatS01(x66, x65, x64, x63)=Succ(Succ(Succ(Succ(x67)))) & Succ(Succ(Succ(x64)))=x66 & Succ(Succ(Succ(x63)))=x65 ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Succ(x63)))))), Neg(Succ(Succ(Succ(Succ(Succ(x64)))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(x63)))))), Neg(new_primModNatS01(Succ(Succ(Succ(x64))), Succ(Succ(Succ(x63))), Succ(x64), Succ(x63))))) ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Succ(Succ(x63))))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x64))))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(Succ(x63))))))), Neg(new_primModNatS01(Succ(Succ(Succ(Succ(x64)))), Succ(Succ(Succ(Succ(x63)))), Succ(Succ(x64)), Succ(Succ(x63)))))) (14) (new_primModNatS02(x70, x69)=Succ(Succ(Succ(Succ(x5)))) & Succ(Succ(Succ(Succ(x68))))=x70 & Succ(Succ(Succ(Zero)))=x69 ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x68))))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(new_primModNatS01(Succ(Succ(Succ(Succ(x68)))), Succ(Succ(Succ(Zero))), Succ(Succ(x68)), 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_primModNatS01(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(Zero)))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(new_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), 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(x63))))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x64))))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(Succ(x63))))))), Neg(new_primModNatS01(Succ(Succ(Succ(Succ(x64)))), Succ(Succ(Succ(Succ(x63)))), Succ(Succ(x64)), Succ(Succ(x63)))))) 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(Succ(x68))))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(new_primModNatS01(Succ(Succ(Succ(Succ(x68)))), Succ(Succ(Succ(Zero))), Succ(Succ(x68)), 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_primModNatS01(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(Succ(x49)))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(new_primModNatS01(Succ(Succ(Succ(x49))), Succ(Succ(Zero)), Succ(x49), 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_primModNatS01(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_primModNatS01(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_primModNatS01(Succ(Succ(x17)), Succ(Succ(x16)), x17, x16))) which results in the following constraint: (1) (new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(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_primModNatS01(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_primModNatS01(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_primModNatS01(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_primModNatS01(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_primModNatS01(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_primModNatS01(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_primModNatS01(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_primModNatS01(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_primModNatS01(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_primModNatS01(x83, x84, x14, x15)=Succ(x81) which results in the following new constraints: (6) (new_primModNatS02(x86, x85)=Succ(x81) & Succ(Succ(Zero))=x86 & Succ(Succ(Zero))=x85 ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero))), Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))))) (7) (new_primModNatS01(x90, x89, x88, x87)=Succ(x81) & Succ(Succ(Succ(x88)))=x90 & Succ(Succ(Succ(x87)))=x89 & (\/x91:new_primModNatS01(x90, x89, x88, x87)=Succ(x91) & Succ(Succ(x88))=x90 & Succ(Succ(x87))=x89 ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x88))))), Neg(Succ(Succ(Succ(Succ(x87))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x88)), Succ(Succ(x87)), x88, x87))), Neg(Succ(Succ(Succ(Succ(x87))))), Pos(Succ(Succ(Succ(Succ(x88))))))) ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(x88)))))), Neg(Succ(Succ(Succ(Succ(Succ(x87)))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(Succ(x88))), Succ(Succ(Succ(x87))), Succ(x88), Succ(x87)))), Neg(Succ(Succ(Succ(Succ(Succ(x87)))))), Pos(Succ(Succ(Succ(Succ(Succ(x88)))))))) (8) (new_primModNatS02(x94, x93)=Succ(x81) & Succ(Succ(Succ(x92)))=x94 & Succ(Succ(Zero))=x93 ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(x92)))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(Succ(x92))), Succ(Succ(Zero)), Succ(x92), Zero))), Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Succ(x92)))))))) (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_primModNatS01(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_primModNatS02(x86, x85)=Succ(x81) which results in the following new constraint: (10) (new_primModNatS1(new_primMinusNatS0(Succ(x99), Succ(x98)), Succ(x98))=Succ(x81) & Succ(Succ(Zero))=x99 & Succ(Succ(Zero))=x98 ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero))), Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))))) We simplified constraint (7) using rule (IV) which results in the following new constraint: (11) (new_primModNatS01(x90, x89, x88, x87)=Succ(x81) & Succ(Succ(Succ(x88)))=x90 & Succ(Succ(Succ(x87)))=x89 ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(x88)))))), Neg(Succ(Succ(Succ(Succ(Succ(x87)))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(Succ(x88))), Succ(Succ(Succ(x87))), Succ(x88), Succ(x87)))), Neg(Succ(Succ(Succ(Succ(Succ(x87)))))), Pos(Succ(Succ(Succ(Succ(Succ(x88)))))))) We simplified constraint (8) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x94, x93)=Succ(x81) which results in the following new constraint: (12) (new_primModNatS1(new_primMinusNatS0(Succ(x118), Succ(x117)), Succ(x117))=Succ(x81) & Succ(Succ(Succ(x92)))=x118 & Succ(Succ(Zero))=x117 ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(x92)))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(Succ(x92))), Succ(Succ(Zero)), Succ(x92), Zero))), Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Succ(x92)))))))) 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_primModNatS01(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(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero))), Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))))) We simplified constraint (11) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x90, x89, x88, x87)=Succ(x81) which results in the following new constraints: (15) (new_primModNatS02(x105, x104)=Succ(x81) & Succ(Succ(Succ(Zero)))=x105 & Succ(Succ(Succ(Zero)))=x104 ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(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)))))))) (16) (new_primModNatS01(x109, x108, x107, x106)=Succ(x81) & Succ(Succ(Succ(Succ(x107))))=x109 & Succ(Succ(Succ(Succ(x106))))=x108 & (\/x110:new_primModNatS01(x109, x108, x107, x106)=Succ(x110) & Succ(Succ(Succ(x107)))=x109 & Succ(Succ(Succ(x106)))=x108 ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(x107)))))), Neg(Succ(Succ(Succ(Succ(Succ(x106)))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(Succ(x107))), Succ(Succ(Succ(x106))), Succ(x107), Succ(x106)))), Neg(Succ(Succ(Succ(Succ(Succ(x106)))))), Pos(Succ(Succ(Succ(Succ(Succ(x107)))))))) ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(Succ(x107))))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x106))))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(Succ(Succ(x107)))), Succ(Succ(Succ(Succ(x106)))), Succ(Succ(x107)), Succ(Succ(x106))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x106))))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x107))))))))) (17) (new_primModNatS02(x113, x112)=Succ(x81) & Succ(Succ(Succ(Succ(x111))))=x113 & Succ(Succ(Succ(Zero)))=x112 ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(Succ(x111))))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(Succ(Succ(x111)))), Succ(Succ(Succ(Zero))), Succ(Succ(x111)), Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x111))))))))) (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_primModNatS01(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(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(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 (16) using rules (III), (IV) which results in the following new constraint: (20) (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(Succ(x107))))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x106))))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(Succ(Succ(x107)))), Succ(Succ(Succ(Succ(x106)))), Succ(Succ(x107)), Succ(Succ(x106))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x106))))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x107))))))))) 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(Succ(x111))))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(Succ(Succ(x111)))), Succ(Succ(Succ(Zero))), Succ(Succ(x111)), Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x111))))))))) 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_primModNatS01(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(Succ(x92)))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(Succ(x92))), Succ(Succ(Zero)), Succ(x92), Zero))), Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Succ(x92)))))))) 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_primModNatS01(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_primModNatS01(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_primModNatS01(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_primModNatS01(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_primModNatS01(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_primModNatS01(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_primModNatS01(Succ(Succ(x27)), Succ(Succ(x26)), x27, x26)))) We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x123, x124, x27, x26)=Succ(Succ(Succ(Succ(x29)))) which results in the following new constraints: (3) (new_primModNatS02(x126, x125)=Succ(Succ(Succ(Succ(x29)))) & Succ(Succ(Zero))=x126 & Succ(Succ(Zero))=x125 ==> 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_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero)))) (4) (new_primModNatS01(x130, x129, x128, x127)=Succ(Succ(Succ(Succ(x29)))) & Succ(Succ(Succ(x128)))=x130 & Succ(Succ(Succ(x127)))=x129 & (\/x131:new_primModNatS01(x130, x129, x128, x127)=Succ(Succ(Succ(Succ(x131)))) & Succ(Succ(x128))=x130 & Succ(Succ(x127))=x129 ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x127))))), Pos(Succ(Succ(Succ(Succ(x128))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x127))))), Pos(new_primModNatS01(Succ(Succ(x128)), Succ(Succ(x127)), x128, x127)))) ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Succ(x127)))))), Pos(Succ(Succ(Succ(Succ(Succ(x128)))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(x127)))))), Pos(new_primModNatS01(Succ(Succ(Succ(x128))), Succ(Succ(Succ(x127))), Succ(x128), Succ(x127))))) (5) (new_primModNatS02(x134, x133)=Succ(Succ(Succ(Succ(x29)))) & Succ(Succ(Succ(x132)))=x134 & Succ(Succ(Zero))=x133 ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Succ(x132)))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(new_primModNatS01(Succ(Succ(Succ(x132))), Succ(Succ(Zero)), Succ(x132), 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_primModNatS01(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_primModNatS02(x126, x125)=Succ(Succ(Succ(Succ(x29)))) which results in the following new constraint: (7) (new_primModNatS1(new_primMinusNatS0(Succ(x139), Succ(x138)), Succ(x138))=Succ(Succ(Succ(Succ(x29)))) & Succ(Succ(Zero))=x139 & Succ(Succ(Zero))=x138 ==> 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_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero)))) We simplified constraint (4) using rule (IV) which results in the following new constraint: (8) (new_primModNatS01(x130, x129, x128, x127)=Succ(Succ(Succ(Succ(x29)))) & Succ(Succ(Succ(x128)))=x130 & Succ(Succ(Succ(x127)))=x129 ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Succ(x127)))))), Pos(Succ(Succ(Succ(Succ(Succ(x128)))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(x127)))))), Pos(new_primModNatS01(Succ(Succ(Succ(x128))), Succ(Succ(Succ(x127))), Succ(x128), Succ(x127))))) We simplified constraint (5) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x134, x133)=Succ(Succ(Succ(Succ(x29)))) which results in the following new constraint: (9) (new_primModNatS1(new_primMinusNatS0(Succ(x158), Succ(x157)), Succ(x157))=Succ(Succ(Succ(Succ(x29)))) & Succ(Succ(Succ(x132)))=x158 & Succ(Succ(Zero))=x157 ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Succ(x132)))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(new_primModNatS01(Succ(Succ(Succ(x132))), Succ(Succ(Zero)), Succ(x132), 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_primModNatS01(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(Zero))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero)))) We simplified constraint (8) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x130, x129, x128, x127)=Succ(Succ(Succ(Succ(x29)))) which results in the following new constraints: (12) (new_primModNatS02(x145, x144)=Succ(Succ(Succ(Succ(x29)))) & Succ(Succ(Succ(Zero)))=x145 & Succ(Succ(Succ(Zero)))=x144 ==> 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_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero))))) (13) (new_primModNatS01(x149, x148, x147, x146)=Succ(Succ(Succ(Succ(x29)))) & Succ(Succ(Succ(Succ(x147))))=x149 & Succ(Succ(Succ(Succ(x146))))=x148 & (\/x150:new_primModNatS01(x149, x148, x147, x146)=Succ(Succ(Succ(Succ(x150)))) & Succ(Succ(Succ(x147)))=x149 & Succ(Succ(Succ(x146)))=x148 ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Succ(x146)))))), Pos(Succ(Succ(Succ(Succ(Succ(x147)))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(x146)))))), Pos(new_primModNatS01(Succ(Succ(Succ(x147))), Succ(Succ(Succ(x146))), Succ(x147), Succ(x146))))) ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Succ(Succ(x146))))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x147))))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(Succ(x146))))))), Pos(new_primModNatS01(Succ(Succ(Succ(Succ(x147)))), Succ(Succ(Succ(Succ(x146)))), Succ(Succ(x147)), Succ(Succ(x146)))))) (14) (new_primModNatS02(x153, x152)=Succ(Succ(Succ(Succ(x29)))) & Succ(Succ(Succ(Succ(x151))))=x153 & Succ(Succ(Succ(Zero)))=x152 ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x151))))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(new_primModNatS01(Succ(Succ(Succ(Succ(x151)))), Succ(Succ(Succ(Zero))), Succ(Succ(x151)), 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_primModNatS01(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(Zero)))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(new_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), 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(x146))))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x147))))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(Succ(x146))))))), Pos(new_primModNatS01(Succ(Succ(Succ(Succ(x147)))), Succ(Succ(Succ(Succ(x146)))), Succ(Succ(x147)), Succ(Succ(x146)))))) 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(Succ(x151))))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(new_primModNatS01(Succ(Succ(Succ(Succ(x151)))), Succ(Succ(Succ(Zero))), Succ(Succ(x151)), 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_primModNatS01(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(Succ(x132)))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(new_primModNatS01(Succ(Succ(Succ(x132))), Succ(Succ(Zero)), Succ(x132), 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_primModNatS01(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_primModNatS01(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_primModNatS01(Succ(Succ(x33)), Succ(Succ(x32)), x33, x32))) which results in the following constraint: (1) (new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(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_primModNatS01(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_primModNatS01(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_primModNatS01(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_primModNatS01(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_primModNatS01(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_primModNatS01(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_primModNatS01(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_primModNatS01(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_primModNatS01(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_primModNatS01(x166, x167, x30, x31)=Succ(x165) which results in the following new constraints: (6) (new_primModNatS02(x169, x168)=Succ(x165) & Succ(Succ(Zero))=x169 & Succ(Succ(Zero))=x168 ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero))), Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))))) (7) (new_primModNatS01(x173, x172, x171, x170)=Succ(x165) & Succ(Succ(Succ(x171)))=x173 & Succ(Succ(Succ(x170)))=x172 & (\/x174:new_primModNatS01(x173, x172, x171, x170)=Succ(x174) & Succ(Succ(x171))=x173 & Succ(Succ(x170))=x172 ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x171))))), Pos(Succ(Succ(Succ(Succ(x170))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x171)), Succ(Succ(x170)), x171, x170))), Pos(Succ(Succ(Succ(Succ(x170))))), Neg(Succ(Succ(Succ(Succ(x171))))))) ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(x171)))))), Pos(Succ(Succ(Succ(Succ(Succ(x170)))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(Succ(x171))), Succ(Succ(Succ(x170))), Succ(x171), Succ(x170)))), Pos(Succ(Succ(Succ(Succ(Succ(x170)))))), Neg(Succ(Succ(Succ(Succ(Succ(x171)))))))) (8) (new_primModNatS02(x177, x176)=Succ(x165) & Succ(Succ(Succ(x175)))=x177 & Succ(Succ(Zero))=x176 ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(x175)))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(Succ(x175))), Succ(Succ(Zero)), Succ(x175), Zero))), Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Succ(x175)))))))) (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_primModNatS01(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_primModNatS02(x169, x168)=Succ(x165) which results in the following new constraint: (10) (new_primModNatS1(new_primMinusNatS0(Succ(x182), Succ(x181)), Succ(x181))=Succ(x165) & Succ(Succ(Zero))=x182 & Succ(Succ(Zero))=x181 ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero))), Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))))) We simplified constraint (7) using rule (IV) which results in the following new constraint: (11) (new_primModNatS01(x173, x172, x171, x170)=Succ(x165) & Succ(Succ(Succ(x171)))=x173 & Succ(Succ(Succ(x170)))=x172 ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(x171)))))), Pos(Succ(Succ(Succ(Succ(Succ(x170)))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(Succ(x171))), Succ(Succ(Succ(x170))), Succ(x171), Succ(x170)))), Pos(Succ(Succ(Succ(Succ(Succ(x170)))))), Neg(Succ(Succ(Succ(Succ(Succ(x171)))))))) We simplified constraint (8) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x177, x176)=Succ(x165) which results in the following new constraint: (12) (new_primModNatS1(new_primMinusNatS0(Succ(x201), Succ(x200)), Succ(x200))=Succ(x165) & Succ(Succ(Succ(x175)))=x201 & Succ(Succ(Zero))=x200 ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(x175)))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(Succ(x175))), Succ(Succ(Zero)), Succ(x175), Zero))), Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Succ(x175)))))))) 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_primModNatS01(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(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero))), Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))))) We simplified constraint (11) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x173, x172, x171, x170)=Succ(x165) which results in the following new constraints: (15) (new_primModNatS02(x188, x187)=Succ(x165) & Succ(Succ(Succ(Zero)))=x188 & Succ(Succ(Succ(Zero)))=x187 ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(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)))))))) (16) (new_primModNatS01(x192, x191, x190, x189)=Succ(x165) & Succ(Succ(Succ(Succ(x190))))=x192 & Succ(Succ(Succ(Succ(x189))))=x191 & (\/x193:new_primModNatS01(x192, x191, x190, x189)=Succ(x193) & Succ(Succ(Succ(x190)))=x192 & Succ(Succ(Succ(x189)))=x191 ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(x190)))))), Pos(Succ(Succ(Succ(Succ(Succ(x189)))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(Succ(x190))), Succ(Succ(Succ(x189))), Succ(x190), Succ(x189)))), Pos(Succ(Succ(Succ(Succ(Succ(x189)))))), Neg(Succ(Succ(Succ(Succ(Succ(x190)))))))) ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(Succ(x190))))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x189))))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(Succ(Succ(x190)))), Succ(Succ(Succ(Succ(x189)))), Succ(Succ(x190)), Succ(Succ(x189))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x189))))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x190))))))))) (17) (new_primModNatS02(x196, x195)=Succ(x165) & Succ(Succ(Succ(Succ(x194))))=x196 & Succ(Succ(Succ(Zero)))=x195 ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(Succ(x194))))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(Succ(Succ(x194)))), Succ(Succ(Succ(Zero))), Succ(Succ(x194)), Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x194))))))))) (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_primModNatS01(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(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(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 (16) using rules (III), (IV) which results in the following new constraint: (20) (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(Succ(x190))))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x189))))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(Succ(Succ(x190)))), Succ(Succ(Succ(Succ(x189)))), Succ(Succ(x190)), Succ(Succ(x189))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x189))))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x190))))))))) 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(Succ(x194))))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(Succ(Succ(x194)))), Succ(Succ(Succ(Zero))), Succ(Succ(x194)), Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x194))))))))) 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_primModNatS01(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(Succ(x175)))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(Succ(x175))), Succ(Succ(Zero)), Succ(x175), Zero))), Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Succ(x175)))))))) 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_primModNatS01(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_primModNatS01(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_primModNatS01(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(Zero))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero)))) *(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_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero))))) *(new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Succ(Succ(x63))))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x64))))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(Succ(x63))))))), Neg(new_primModNatS01(Succ(Succ(Succ(Succ(x64)))), Succ(Succ(Succ(Succ(x63)))), Succ(Succ(x64)), Succ(Succ(x63)))))) *(new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x68))))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(new_primModNatS01(Succ(Succ(Succ(Succ(x68)))), Succ(Succ(Succ(Zero))), Succ(Succ(x68)), Succ(Zero))))) *(new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Succ(x49)))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(new_primModNatS01(Succ(Succ(Succ(x49))), Succ(Succ(Zero)), Succ(x49), Zero)))) *new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(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_primModNatS01(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_primModNatS01(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(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero))), Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))))) *(new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(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(Succ(Succ(x107))))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x106))))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(Succ(Succ(x107)))), Succ(Succ(Succ(Succ(x106)))), Succ(Succ(x107)), Succ(Succ(x106))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x106))))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x107))))))))) *(new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(Succ(x111))))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(Succ(Succ(x111)))), Succ(Succ(Succ(Zero))), Succ(Succ(x111)), Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x111))))))))) *(new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(x92)))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(Succ(x92))), Succ(Succ(Zero)), Succ(x92), Zero))), Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Succ(x92)))))))) *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_primModNatS01(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_primModNatS01(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_primModNatS01(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(Zero))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero)))) *(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_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero))))) *(new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Succ(Succ(x146))))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x147))))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(Succ(x146))))))), Pos(new_primModNatS01(Succ(Succ(Succ(Succ(x147)))), Succ(Succ(Succ(Succ(x146)))), Succ(Succ(x147)), Succ(Succ(x146)))))) *(new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x151))))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(new_primModNatS01(Succ(Succ(Succ(Succ(x151)))), Succ(Succ(Succ(Zero))), Succ(Succ(x151)), Succ(Zero))))) *(new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Succ(x132)))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(new_primModNatS01(Succ(Succ(Succ(x132))), Succ(Succ(Zero)), Succ(x132), Zero)))) *new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(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_primModNatS01(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_primModNatS01(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(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero))), Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))))) *(new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(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(Succ(Succ(x190))))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x189))))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(Succ(Succ(x190)))), Succ(Succ(Succ(Succ(x189)))), Succ(Succ(x190)), Succ(Succ(x189))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x189))))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x190))))))))) *(new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(Succ(x194))))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(Succ(Succ(x194)))), Succ(Succ(Succ(Zero))), Succ(Succ(x194)), Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x194))))))))) *(new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(x175)))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(Succ(x175))), Succ(Succ(Zero)), Succ(x175), Zero))), Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Succ(x175)))))))) 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. ---------------------------------------- (652) 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_primModNatS01(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_primModNatS01(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_primModNatS01(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_primModNatS01(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(vuz74000)) -> Succ(Zero) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_esEs(Pos(Succ(vuz2500))) -> False new_esEs(Pos(Zero)) -> True new_esEs(Neg(Succ(vuz2500))) -> False new_esEs(Neg(Zero)) -> True The set Q consists of the following terms: new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primMinusNatS0(Zero, Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Pos(Succ(x0))) new_primModNatS01(x0, x1, Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_esEs(Neg(Succ(x0))) new_primMinusNatS0(Zero, Zero) new_primModNatS02(x0, x1) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (653) Obligation: Q DP problem: The TRS P consists of the following rules: new_primModNatS(Succ(Zero), Zero) -> new_primModNatS(new_primMinusNatS0(Zero, Zero), Zero) new_primModNatS(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS0(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS00(vuz126, vuz127) -> new_primModNatS(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) new_primModNatS0(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) new_primModNatS(Succ(Succ(vuz75000)), Zero) -> new_primModNatS(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) new_primModNatS0(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS0(vuz126, vuz127, vuz1280, vuz1290) new_primModNatS0(vuz126, vuz127, Zero, Zero) -> new_primModNatS00(vuz126, vuz127) The TRS R consists of the following rules: new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) The set Q consists of the following terms: new_primMinusNatS0(Zero, Succ(x0)) new_primMinusNatS0(Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primMinusNatS0(Succ(x0), Succ(x1)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (654) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 2 SCCs with 1 less node. ---------------------------------------- (655) Complex Obligation (AND) ---------------------------------------- (656) Obligation: Q DP problem: The TRS P consists of the following rules: new_primModNatS0(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) new_primModNatS(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS0(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS0(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS0(vuz126, vuz127, vuz1280, vuz1290) new_primModNatS0(vuz126, vuz127, Zero, Zero) -> new_primModNatS00(vuz126, vuz127) new_primModNatS00(vuz126, vuz127) -> new_primModNatS(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) The TRS R consists of the following rules: new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) The set Q consists of the following terms: new_primMinusNatS0(Zero, Succ(x0)) new_primMinusNatS0(Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primMinusNatS0(Succ(x0), Succ(x1)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (657) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_primModNatS0(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) at position [0] we obtained the following new rules [LPAR04]: (new_primModNatS0(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS(new_primMinusNatS0(vuz126, vuz127), Succ(vuz127)),new_primModNatS0(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS(new_primMinusNatS0(vuz126, vuz127), Succ(vuz127))) ---------------------------------------- (658) Obligation: Q DP problem: The TRS P consists of the following rules: new_primModNatS(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS0(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS0(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS0(vuz126, vuz127, vuz1280, vuz1290) new_primModNatS0(vuz126, vuz127, Zero, Zero) -> new_primModNatS00(vuz126, vuz127) new_primModNatS00(vuz126, vuz127) -> new_primModNatS(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) new_primModNatS0(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS(new_primMinusNatS0(vuz126, vuz127), Succ(vuz127)) The TRS R consists of the following rules: new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) The set Q consists of the following terms: new_primMinusNatS0(Zero, Succ(x0)) new_primMinusNatS0(Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primMinusNatS0(Succ(x0), Succ(x1)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (659) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_primModNatS00(vuz126, vuz127) -> new_primModNatS(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) at position [0] we obtained the following new rules [LPAR04]: (new_primModNatS00(vuz126, vuz127) -> new_primModNatS(new_primMinusNatS0(vuz126, vuz127), Succ(vuz127)),new_primModNatS00(vuz126, vuz127) -> new_primModNatS(new_primMinusNatS0(vuz126, vuz127), Succ(vuz127))) ---------------------------------------- (660) Obligation: Q DP problem: The TRS P consists of the following rules: new_primModNatS(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS0(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS0(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS0(vuz126, vuz127, vuz1280, vuz1290) new_primModNatS0(vuz126, vuz127, Zero, Zero) -> new_primModNatS00(vuz126, vuz127) new_primModNatS0(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS(new_primMinusNatS0(vuz126, vuz127), Succ(vuz127)) new_primModNatS00(vuz126, vuz127) -> new_primModNatS(new_primMinusNatS0(vuz126, vuz127), Succ(vuz127)) The TRS R consists of the following rules: new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) The set Q consists of the following terms: new_primMinusNatS0(Zero, Succ(x0)) new_primMinusNatS0(Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primMinusNatS0(Succ(x0), Succ(x1)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (661) 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_primMinusNatS0(x_1, x_2)) = x_1 From the DPs we obtained the following set of size-change graphs: *new_primModNatS0(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS(new_primMinusNatS0(vuz126, vuz127), Succ(vuz127)) (allowed arguments on rhs = {1, 2}) The graph contains the following edges 1 >= 1 *new_primModNatS00(vuz126, vuz127) -> new_primModNatS(new_primMinusNatS0(vuz126, vuz127), Succ(vuz127)) (allowed arguments on rhs = {1, 2}) The graph contains the following edges 1 >= 1 *new_primModNatS(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS0(vuz75000, vuz74000, vuz75000, vuz74000) (allowed arguments on rhs = {1, 2, 3, 4}) The graph contains the following edges 1 > 1, 2 > 2, 1 > 3, 2 > 4 *new_primModNatS0(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS0(vuz126, vuz127, vuz1280, vuz1290) (allowed arguments on rhs = {1, 2, 3, 4}) The graph contains the following edges 1 >= 1, 2 >= 2, 3 > 3, 4 > 4 *new_primModNatS0(vuz126, vuz127, Zero, Zero) -> new_primModNatS00(vuz126, vuz127) (allowed arguments on rhs = {1, 2}) The graph contains the following edges 1 >= 1, 2 >= 2 We oriented the following set of usable rules [AAECC05,FROCOS05]. new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) ---------------------------------------- (662) YES ---------------------------------------- (663) Obligation: Q DP problem: The TRS P consists of the following rules: new_primModNatS(Succ(Succ(vuz75000)), Zero) -> new_primModNatS(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) The TRS R consists of the following rules: new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) The set Q consists of the following terms: new_primMinusNatS0(Zero, Succ(x0)) new_primMinusNatS0(Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primMinusNatS0(Succ(x0), Succ(x1)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (664) 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_primMinusNatS0(x_1, x_2)) = x_1 From the DPs we obtained the following set of size-change graphs: *new_primModNatS(Succ(Succ(vuz75000)), Zero) -> new_primModNatS(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) (allowed arguments on rhs = {1, 2}) The graph contains the following edges 1 > 1, 2 >= 2 We oriented the following set of usable rules [AAECC05,FROCOS05]. new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) ---------------------------------------- (665) YES ---------------------------------------- (666) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'00(vuz97, vuz109) -> new_gcd0Gcd'(vuz109, vuz97) new_gcd0Gcd'10(False, vuz97, vuz99) -> new_gcd0Gcd'00(vuz97, new_rem0(vuz99, vuz97)) new_gcd0Gcd'(vuz97, vuz99) -> new_gcd0Gcd'10(new_esEs0(new_rem0(vuz99, vuz97)), vuz97, vuz99) The TRS R consists of the following rules: new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error new_rem0(Integer(vuz990), Integer(vuz970)) -> Integer(new_primRemInt(vuz990, vuz970)) new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_esEs0(Integer(Neg(Zero))) -> True new_primModNatS1(Zero, vuz7400) -> Zero new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error new_error -> error([]) new_esEs0(Integer(Neg(Succ(vuz101000)))) -> False new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_esEs0(Integer(Pos(Zero))) -> True new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error new_esEs0(Integer(Pos(Succ(vuz101000)))) -> False The set Q consists of the following terms: new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_esEs0(Integer(Neg(Succ(x0)))) new_esEs0(Integer(Pos(Succ(x0)))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_esEs0(Integer(Neg(Zero))) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(Zero, Succ(x0)) new_esEs0(Integer(Pos(Zero))) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_primModNatS01(x0, x1, Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_rem0(Integer(x0), Integer(x1)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primMinusNatS0(Zero, Zero) new_primModNatS02(x0, x1) new_primModNatS1(Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (667) MNOCProof (EQUIVALENT) We use the modular non-overlap check [FROCOS05] to decrease Q to the empty set. ---------------------------------------- (668) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'00(vuz97, vuz109) -> new_gcd0Gcd'(vuz109, vuz97) new_gcd0Gcd'10(False, vuz97, vuz99) -> new_gcd0Gcd'00(vuz97, new_rem0(vuz99, vuz97)) new_gcd0Gcd'(vuz97, vuz99) -> new_gcd0Gcd'10(new_esEs0(new_rem0(vuz99, vuz97)), vuz97, vuz99) The TRS R consists of the following rules: new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error new_rem0(Integer(vuz990), Integer(vuz970)) -> Integer(new_primRemInt(vuz990, vuz970)) new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_esEs0(Integer(Neg(Zero))) -> True new_primModNatS1(Zero, vuz7400) -> Zero new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error new_error -> error([]) new_esEs0(Integer(Neg(Succ(vuz101000)))) -> False new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_esEs0(Integer(Pos(Zero))) -> True new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error new_esEs0(Integer(Pos(Succ(vuz101000)))) -> False Q is empty. We have to consider all (P,Q,R)-chains. ---------------------------------------- (669) InductionCalculusProof (EQUIVALENT) Note that final constraints are written in bold face. For Pair new_gcd0Gcd'00(vuz97, vuz109) -> new_gcd0Gcd'(vuz109, vuz97) the following chains were created: *We consider the chain new_gcd0Gcd'00(x4, x5) -> new_gcd0Gcd'(x5, x4), new_gcd0Gcd'(x6, x7) -> new_gcd0Gcd'10(new_esEs0(new_rem0(x7, x6)), x6, x7) which results in the following constraint: (1) (new_gcd0Gcd'(x5, x4)=new_gcd0Gcd'(x6, x7) ==> new_gcd0Gcd'00(x4, x5)_>=_new_gcd0Gcd'(x5, x4)) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (new_gcd0Gcd'00(x4, x5)_>=_new_gcd0Gcd'(x5, x4)) For Pair new_gcd0Gcd'10(False, vuz97, vuz99) -> new_gcd0Gcd'00(vuz97, new_rem0(vuz99, vuz97)) the following chains were created: *We consider the chain new_gcd0Gcd'10(False, x8, x9) -> new_gcd0Gcd'00(x8, new_rem0(x9, x8)), new_gcd0Gcd'00(x10, x11) -> new_gcd0Gcd'(x11, x10) which results in the following constraint: (1) (new_gcd0Gcd'00(x8, new_rem0(x9, x8))=new_gcd0Gcd'00(x10, x11) ==> new_gcd0Gcd'10(False, x8, x9)_>=_new_gcd0Gcd'00(x8, new_rem0(x9, x8))) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (new_gcd0Gcd'10(False, x8, x9)_>=_new_gcd0Gcd'00(x8, new_rem0(x9, x8))) For Pair new_gcd0Gcd'(vuz97, vuz99) -> new_gcd0Gcd'10(new_esEs0(new_rem0(vuz99, vuz97)), vuz97, vuz99) the following chains were created: *We consider the chain new_gcd0Gcd'(x18, x19) -> new_gcd0Gcd'10(new_esEs0(new_rem0(x19, x18)), x18, x19), new_gcd0Gcd'10(False, x20, x21) -> new_gcd0Gcd'00(x20, new_rem0(x21, x20)) which results in the following constraint: (1) (new_gcd0Gcd'10(new_esEs0(new_rem0(x19, x18)), x18, x19)=new_gcd0Gcd'10(False, x20, x21) ==> new_gcd0Gcd'(x18, x19)_>=_new_gcd0Gcd'10(new_esEs0(new_rem0(x19, x18)), x18, x19)) We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: (2) (new_rem0(x19, x18)=x24 & new_esEs0(x24)=False ==> new_gcd0Gcd'(x18, x19)_>=_new_gcd0Gcd'10(new_esEs0(new_rem0(x19, x18)), x18, x19)) We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_esEs0(x24)=False which results in the following new constraints: (3) (False=False & new_rem0(x19, x18)=Integer(Neg(Succ(x25))) ==> new_gcd0Gcd'(x18, x19)_>=_new_gcd0Gcd'10(new_esEs0(new_rem0(x19, x18)), x18, x19)) (4) (False=False & new_rem0(x19, x18)=Integer(Pos(Succ(x26))) ==> new_gcd0Gcd'(x18, x19)_>=_new_gcd0Gcd'10(new_esEs0(new_rem0(x19, x18)), x18, x19)) We simplified constraint (3) using rules (I), (II) which results in the following new constraint: (5) (new_rem0(x19, x18)=Integer(Neg(Succ(x25))) ==> new_gcd0Gcd'(x18, x19)_>=_new_gcd0Gcd'10(new_esEs0(new_rem0(x19, x18)), x18, x19)) We simplified constraint (4) using rules (I), (II) which results in the following new constraint: (6) (new_rem0(x19, x18)=Integer(Pos(Succ(x26))) ==> new_gcd0Gcd'(x18, x19)_>=_new_gcd0Gcd'10(new_esEs0(new_rem0(x19, x18)), x18, x19)) We simplified constraint (5) using rule (V) (with possible (I) afterwards) using induction on new_rem0(x19, x18)=Integer(Neg(Succ(x25))) which results in the following new constraint: (7) (Integer(new_primRemInt(x28, x27))=Integer(Neg(Succ(x25))) ==> new_gcd0Gcd'(Integer(x27), Integer(x28))_>=_new_gcd0Gcd'10(new_esEs0(new_rem0(Integer(x28), Integer(x27))), Integer(x27), Integer(x28))) We simplified constraint (7) using rules (I), (II) which results in the following new constraint: (8) (new_primRemInt(x28, x27)=Neg(Succ(x25)) ==> new_gcd0Gcd'(Integer(x27), Integer(x28))_>=_new_gcd0Gcd'10(new_esEs0(new_rem0(Integer(x28), Integer(x27))), Integer(x27), Integer(x28))) We simplified constraint (8) using rule (V) (with possible (I) afterwards) using induction on new_primRemInt(x28, x27)=Neg(Succ(x25)) which results in the following new constraints: (9) (new_error=Neg(Succ(x25)) ==> new_gcd0Gcd'(Integer(Neg(Zero)), Integer(Neg(x33)))_>=_new_gcd0Gcd'10(new_esEs0(new_rem0(Integer(Neg(x33)), Integer(Neg(Zero)))), Integer(Neg(Zero)), Integer(Neg(x33)))) (10) (Neg(new_primModNatS1(x35, x34))=Neg(Succ(x25)) ==> new_gcd0Gcd'(Integer(Pos(Succ(x34))), Integer(Neg(x35)))_>=_new_gcd0Gcd'10(new_esEs0(new_rem0(Integer(Neg(x35)), Integer(Pos(Succ(x34))))), Integer(Pos(Succ(x34))), Integer(Neg(x35)))) (11) (new_error=Neg(Succ(x25)) ==> new_gcd0Gcd'(Integer(Pos(Zero)), Integer(Pos(x36)))_>=_new_gcd0Gcd'10(new_esEs0(new_rem0(Integer(Pos(x36)), Integer(Pos(Zero)))), Integer(Pos(Zero)), Integer(Pos(x36)))) (12) (Neg(new_primModNatS1(x38, x37))=Neg(Succ(x25)) ==> new_gcd0Gcd'(Integer(Neg(Succ(x37))), Integer(Neg(x38)))_>=_new_gcd0Gcd'10(new_esEs0(new_rem0(Integer(Neg(x38)), Integer(Neg(Succ(x37))))), Integer(Neg(Succ(x37))), Integer(Neg(x38)))) (13) (new_error=Neg(Succ(x25)) ==> new_gcd0Gcd'(Integer(Neg(Zero)), Integer(Pos(x39)))_>=_new_gcd0Gcd'10(new_esEs0(new_rem0(Integer(Pos(x39)), Integer(Neg(Zero)))), Integer(Neg(Zero)), Integer(Pos(x39)))) (14) (new_error=Neg(Succ(x25)) ==> new_gcd0Gcd'(Integer(Pos(Zero)), Integer(Neg(x40)))_>=_new_gcd0Gcd'10(new_esEs0(new_rem0(Integer(Neg(x40)), Integer(Pos(Zero)))), Integer(Pos(Zero)), Integer(Neg(x40)))) We simplified constraint (9) using rule (IV) which results in the following new constraint: (15) (new_gcd0Gcd'(Integer(Neg(Zero)), Integer(Neg(x33)))_>=_new_gcd0Gcd'10(new_esEs0(new_rem0(Integer(Neg(x33)), Integer(Neg(Zero)))), Integer(Neg(Zero)), Integer(Neg(x33)))) We simplified constraint (10) using rules (I), (II), (IV) which results in the following new constraint: (16) (new_gcd0Gcd'(Integer(Pos(Succ(x34))), Integer(Neg(x35)))_>=_new_gcd0Gcd'10(new_esEs0(new_rem0(Integer(Neg(x35)), Integer(Pos(Succ(x34))))), Integer(Pos(Succ(x34))), Integer(Neg(x35)))) We simplified constraint (11) using rule (IV) which results in the following new constraint: (17) (new_gcd0Gcd'(Integer(Pos(Zero)), Integer(Pos(x36)))_>=_new_gcd0Gcd'10(new_esEs0(new_rem0(Integer(Pos(x36)), Integer(Pos(Zero)))), Integer(Pos(Zero)), Integer(Pos(x36)))) We simplified constraint (12) using rules (I), (II), (IV) which results in the following new constraint: (18) (new_gcd0Gcd'(Integer(Neg(Succ(x37))), Integer(Neg(x38)))_>=_new_gcd0Gcd'10(new_esEs0(new_rem0(Integer(Neg(x38)), Integer(Neg(Succ(x37))))), Integer(Neg(Succ(x37))), Integer(Neg(x38)))) We simplified constraint (13) using rule (IV) which results in the following new constraint: (19) (new_gcd0Gcd'(Integer(Neg(Zero)), Integer(Pos(x39)))_>=_new_gcd0Gcd'10(new_esEs0(new_rem0(Integer(Pos(x39)), Integer(Neg(Zero)))), Integer(Neg(Zero)), Integer(Pos(x39)))) We simplified constraint (14) using rule (IV) which results in the following new constraint: (20) (new_gcd0Gcd'(Integer(Pos(Zero)), Integer(Neg(x40)))_>=_new_gcd0Gcd'10(new_esEs0(new_rem0(Integer(Neg(x40)), Integer(Pos(Zero)))), Integer(Pos(Zero)), Integer(Neg(x40)))) We simplified constraint (6) using rule (V) (with possible (I) afterwards) using induction on new_rem0(x19, x18)=Integer(Pos(Succ(x26))) which results in the following new constraint: (21) (Integer(new_primRemInt(x42, x41))=Integer(Pos(Succ(x26))) ==> new_gcd0Gcd'(Integer(x41), Integer(x42))_>=_new_gcd0Gcd'10(new_esEs0(new_rem0(Integer(x42), Integer(x41))), Integer(x41), Integer(x42))) We simplified constraint (21) using rules (I), (II) which results in the following new constraint: (22) (new_primRemInt(x42, x41)=Pos(Succ(x26)) ==> new_gcd0Gcd'(Integer(x41), Integer(x42))_>=_new_gcd0Gcd'10(new_esEs0(new_rem0(Integer(x42), Integer(x41))), Integer(x41), Integer(x42))) We simplified constraint (22) using rule (V) (with possible (I) afterwards) using induction on new_primRemInt(x42, x41)=Pos(Succ(x26)) which results in the following new constraints: (23) (Pos(new_primModNatS1(x44, x43))=Pos(Succ(x26)) ==> new_gcd0Gcd'(Integer(Neg(Succ(x43))), Integer(Pos(x44)))_>=_new_gcd0Gcd'10(new_esEs0(new_rem0(Integer(Pos(x44)), Integer(Neg(Succ(x43))))), Integer(Neg(Succ(x43))), Integer(Pos(x44)))) (24) (Pos(new_primModNatS1(x46, x45))=Pos(Succ(x26)) ==> new_gcd0Gcd'(Integer(Pos(Succ(x45))), Integer(Pos(x46)))_>=_new_gcd0Gcd'10(new_esEs0(new_rem0(Integer(Pos(x46)), Integer(Pos(Succ(x45))))), Integer(Pos(Succ(x45))), Integer(Pos(x46)))) (25) (new_error=Pos(Succ(x26)) ==> new_gcd0Gcd'(Integer(Neg(Zero)), Integer(Neg(x47)))_>=_new_gcd0Gcd'10(new_esEs0(new_rem0(Integer(Neg(x47)), Integer(Neg(Zero)))), Integer(Neg(Zero)), Integer(Neg(x47)))) (26) (new_error=Pos(Succ(x26)) ==> new_gcd0Gcd'(Integer(Pos(Zero)), Integer(Pos(x50)))_>=_new_gcd0Gcd'10(new_esEs0(new_rem0(Integer(Pos(x50)), Integer(Pos(Zero)))), Integer(Pos(Zero)), Integer(Pos(x50)))) (27) (new_error=Pos(Succ(x26)) ==> new_gcd0Gcd'(Integer(Neg(Zero)), Integer(Pos(x53)))_>=_new_gcd0Gcd'10(new_esEs0(new_rem0(Integer(Pos(x53)), Integer(Neg(Zero)))), Integer(Neg(Zero)), Integer(Pos(x53)))) (28) (new_error=Pos(Succ(x26)) ==> new_gcd0Gcd'(Integer(Pos(Zero)), Integer(Neg(x54)))_>=_new_gcd0Gcd'10(new_esEs0(new_rem0(Integer(Neg(x54)), Integer(Pos(Zero)))), Integer(Pos(Zero)), Integer(Neg(x54)))) We simplified constraint (23) using rules (I), (II), (IV) which results in the following new constraint: (29) (new_gcd0Gcd'(Integer(Neg(Succ(x43))), Integer(Pos(x44)))_>=_new_gcd0Gcd'10(new_esEs0(new_rem0(Integer(Pos(x44)), Integer(Neg(Succ(x43))))), Integer(Neg(Succ(x43))), Integer(Pos(x44)))) We simplified constraint (24) using rules (I), (II), (IV) which results in the following new constraint: (30) (new_gcd0Gcd'(Integer(Pos(Succ(x45))), Integer(Pos(x46)))_>=_new_gcd0Gcd'10(new_esEs0(new_rem0(Integer(Pos(x46)), Integer(Pos(Succ(x45))))), Integer(Pos(Succ(x45))), Integer(Pos(x46)))) We simplified constraint (25) using rule (IV) which results in the following new constraint: (31) (new_gcd0Gcd'(Integer(Neg(Zero)), Integer(Neg(x47)))_>=_new_gcd0Gcd'10(new_esEs0(new_rem0(Integer(Neg(x47)), Integer(Neg(Zero)))), Integer(Neg(Zero)), Integer(Neg(x47)))) We simplified constraint (26) using rule (IV) which results in the following new constraint: (32) (new_gcd0Gcd'(Integer(Pos(Zero)), Integer(Pos(x50)))_>=_new_gcd0Gcd'10(new_esEs0(new_rem0(Integer(Pos(x50)), Integer(Pos(Zero)))), Integer(Pos(Zero)), Integer(Pos(x50)))) We simplified constraint (27) using rule (IV) which results in the following new constraint: (33) (new_gcd0Gcd'(Integer(Neg(Zero)), Integer(Pos(x53)))_>=_new_gcd0Gcd'10(new_esEs0(new_rem0(Integer(Pos(x53)), Integer(Neg(Zero)))), Integer(Neg(Zero)), Integer(Pos(x53)))) We solved constraint (28) using rule (IV). To summarize, we get the following constraints P__>=_ for the following pairs. *new_gcd0Gcd'00(vuz97, vuz109) -> new_gcd0Gcd'(vuz109, vuz97) *(new_gcd0Gcd'00(x4, x5)_>=_new_gcd0Gcd'(x5, x4)) *new_gcd0Gcd'10(False, vuz97, vuz99) -> new_gcd0Gcd'00(vuz97, new_rem0(vuz99, vuz97)) *(new_gcd0Gcd'10(False, x8, x9)_>=_new_gcd0Gcd'00(x8, new_rem0(x9, x8))) *new_gcd0Gcd'(vuz97, vuz99) -> new_gcd0Gcd'10(new_esEs0(new_rem0(vuz99, vuz97)), vuz97, vuz99) *(new_gcd0Gcd'(Integer(Neg(Zero)), Integer(Neg(x33)))_>=_new_gcd0Gcd'10(new_esEs0(new_rem0(Integer(Neg(x33)), Integer(Neg(Zero)))), Integer(Neg(Zero)), Integer(Neg(x33)))) *(new_gcd0Gcd'(Integer(Pos(Succ(x34))), Integer(Neg(x35)))_>=_new_gcd0Gcd'10(new_esEs0(new_rem0(Integer(Neg(x35)), Integer(Pos(Succ(x34))))), Integer(Pos(Succ(x34))), Integer(Neg(x35)))) *(new_gcd0Gcd'(Integer(Pos(Zero)), Integer(Pos(x36)))_>=_new_gcd0Gcd'10(new_esEs0(new_rem0(Integer(Pos(x36)), Integer(Pos(Zero)))), Integer(Pos(Zero)), Integer(Pos(x36)))) *(new_gcd0Gcd'(Integer(Neg(Succ(x37))), Integer(Neg(x38)))_>=_new_gcd0Gcd'10(new_esEs0(new_rem0(Integer(Neg(x38)), Integer(Neg(Succ(x37))))), Integer(Neg(Succ(x37))), Integer(Neg(x38)))) *(new_gcd0Gcd'(Integer(Neg(Zero)), Integer(Pos(x39)))_>=_new_gcd0Gcd'10(new_esEs0(new_rem0(Integer(Pos(x39)), Integer(Neg(Zero)))), Integer(Neg(Zero)), Integer(Pos(x39)))) *(new_gcd0Gcd'(Integer(Pos(Zero)), Integer(Neg(x40)))_>=_new_gcd0Gcd'10(new_esEs0(new_rem0(Integer(Neg(x40)), Integer(Pos(Zero)))), Integer(Pos(Zero)), Integer(Neg(x40)))) *(new_gcd0Gcd'(Integer(Neg(Succ(x43))), Integer(Pos(x44)))_>=_new_gcd0Gcd'10(new_esEs0(new_rem0(Integer(Pos(x44)), Integer(Neg(Succ(x43))))), Integer(Neg(Succ(x43))), Integer(Pos(x44)))) *(new_gcd0Gcd'(Integer(Pos(Succ(x45))), Integer(Pos(x46)))_>=_new_gcd0Gcd'10(new_esEs0(new_rem0(Integer(Pos(x46)), Integer(Pos(Succ(x45))))), Integer(Pos(Succ(x45))), Integer(Pos(x46)))) *(new_gcd0Gcd'(Integer(Neg(Zero)), Integer(Neg(x47)))_>=_new_gcd0Gcd'10(new_esEs0(new_rem0(Integer(Neg(x47)), Integer(Neg(Zero)))), Integer(Neg(Zero)), Integer(Neg(x47)))) *(new_gcd0Gcd'(Integer(Pos(Zero)), Integer(Pos(x50)))_>=_new_gcd0Gcd'10(new_esEs0(new_rem0(Integer(Pos(x50)), Integer(Pos(Zero)))), Integer(Pos(Zero)), Integer(Pos(x50)))) *(new_gcd0Gcd'(Integer(Neg(Zero)), Integer(Pos(x53)))_>=_new_gcd0Gcd'10(new_esEs0(new_rem0(Integer(Pos(x53)), Integer(Neg(Zero)))), Integer(Neg(Zero)), Integer(Pos(x53)))) 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. ---------------------------------------- (670) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'00(vuz97, vuz109) -> new_gcd0Gcd'(vuz109, vuz97) new_gcd0Gcd'10(False, vuz97, vuz99) -> new_gcd0Gcd'00(vuz97, new_rem0(vuz99, vuz97)) new_gcd0Gcd'(vuz97, vuz99) -> new_gcd0Gcd'10(new_esEs0(new_rem0(vuz99, vuz97)), vuz97, vuz99) The TRS R consists of the following rules: new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error new_rem0(Integer(vuz990), Integer(vuz970)) -> Integer(new_primRemInt(vuz990, vuz970)) new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_esEs0(Integer(Neg(Zero))) -> True new_primModNatS1(Zero, vuz7400) -> Zero new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error new_error -> error([]) new_esEs0(Integer(Neg(Succ(vuz101000)))) -> False new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_esEs0(Integer(Pos(Zero))) -> True new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error new_esEs0(Integer(Pos(Succ(vuz101000)))) -> False The set Q consists of the following terms: new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_esEs0(Integer(Neg(Succ(x0)))) new_esEs0(Integer(Pos(Succ(x0)))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_esEs0(Integer(Neg(Zero))) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(Zero, Succ(x0)) new_esEs0(Integer(Pos(Zero))) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_primModNatS01(x0, x1, Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_rem0(Integer(x0), Integer(x1)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primMinusNatS0(Zero, Zero) new_primModNatS02(x0, x1) new_primModNatS1(Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (671) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_gcd0Gcd'(vuz97, vuz99) -> new_gcd0Gcd'10(new_esEs0(new_rem0(vuz99, vuz97)), vuz97, vuz99) at position [0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Integer(x1), Integer(x0)) -> new_gcd0Gcd'10(new_esEs0(Integer(new_primRemInt(x0, x1))), Integer(x1), Integer(x0)),new_gcd0Gcd'(Integer(x1), Integer(x0)) -> new_gcd0Gcd'10(new_esEs0(Integer(new_primRemInt(x0, x1))), Integer(x1), Integer(x0))) ---------------------------------------- (672) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'00(vuz97, vuz109) -> new_gcd0Gcd'(vuz109, vuz97) new_gcd0Gcd'10(False, vuz97, vuz99) -> new_gcd0Gcd'00(vuz97, new_rem0(vuz99, vuz97)) new_gcd0Gcd'(Integer(x1), Integer(x0)) -> new_gcd0Gcd'10(new_esEs0(Integer(new_primRemInt(x0, x1))), Integer(x1), Integer(x0)) The TRS R consists of the following rules: new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error new_rem0(Integer(vuz990), Integer(vuz970)) -> Integer(new_primRemInt(vuz990, vuz970)) new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_esEs0(Integer(Neg(Zero))) -> True new_primModNatS1(Zero, vuz7400) -> Zero new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error new_error -> error([]) new_esEs0(Integer(Neg(Succ(vuz101000)))) -> False new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_esEs0(Integer(Pos(Zero))) -> True new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error new_esEs0(Integer(Pos(Succ(vuz101000)))) -> False The set Q consists of the following terms: new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_esEs0(Integer(Neg(Succ(x0)))) new_esEs0(Integer(Pos(Succ(x0)))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_esEs0(Integer(Neg(Zero))) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(Zero, Succ(x0)) new_esEs0(Integer(Pos(Zero))) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_primModNatS01(x0, x1, Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_rem0(Integer(x0), Integer(x1)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primMinusNatS0(Zero, Zero) new_primModNatS02(x0, x1) new_primModNatS1(Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (673) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_gcd0Gcd'(Integer(x1), Integer(x0)) -> new_gcd0Gcd'10(new_esEs0(Integer(new_primRemInt(x0, x1))), Integer(x1), Integer(x0)) at position [0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Integer(Neg(Succ(x1))), Integer(Pos(x0))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(x0, x1)))), Integer(Neg(Succ(x1))), Integer(Pos(x0))),new_gcd0Gcd'(Integer(Neg(Succ(x1))), Integer(Pos(x0))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(x0, x1)))), Integer(Neg(Succ(x1))), Integer(Pos(x0)))) (new_gcd0Gcd'(Integer(Pos(Succ(x1))), Integer(Pos(x0))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(x0, x1)))), Integer(Pos(Succ(x1))), Integer(Pos(x0))),new_gcd0Gcd'(Integer(Pos(Succ(x1))), Integer(Pos(x0))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(x0, x1)))), Integer(Pos(Succ(x1))), Integer(Pos(x0)))) (new_gcd0Gcd'(Integer(Neg(Zero)), Integer(Neg(x0))) -> new_gcd0Gcd'10(new_esEs0(Integer(new_error)), Integer(Neg(Zero)), Integer(Neg(x0))),new_gcd0Gcd'(Integer(Neg(Zero)), Integer(Neg(x0))) -> new_gcd0Gcd'10(new_esEs0(Integer(new_error)), Integer(Neg(Zero)), Integer(Neg(x0)))) (new_gcd0Gcd'(Integer(Pos(Succ(x1))), Integer(Neg(x0))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(x0, x1)))), Integer(Pos(Succ(x1))), Integer(Neg(x0))),new_gcd0Gcd'(Integer(Pos(Succ(x1))), Integer(Neg(x0))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(x0, x1)))), Integer(Pos(Succ(x1))), Integer(Neg(x0)))) (new_gcd0Gcd'(Integer(Pos(Zero)), Integer(Pos(x0))) -> new_gcd0Gcd'10(new_esEs0(Integer(new_error)), Integer(Pos(Zero)), Integer(Pos(x0))),new_gcd0Gcd'(Integer(Pos(Zero)), Integer(Pos(x0))) -> new_gcd0Gcd'10(new_esEs0(Integer(new_error)), Integer(Pos(Zero)), Integer(Pos(x0)))) (new_gcd0Gcd'(Integer(Neg(Succ(x1))), Integer(Neg(x0))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(x0, x1)))), Integer(Neg(Succ(x1))), Integer(Neg(x0))),new_gcd0Gcd'(Integer(Neg(Succ(x1))), Integer(Neg(x0))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(x0, x1)))), Integer(Neg(Succ(x1))), Integer(Neg(x0)))) (new_gcd0Gcd'(Integer(Neg(Zero)), Integer(Pos(x0))) -> new_gcd0Gcd'10(new_esEs0(Integer(new_error)), Integer(Neg(Zero)), Integer(Pos(x0))),new_gcd0Gcd'(Integer(Neg(Zero)), Integer(Pos(x0))) -> new_gcd0Gcd'10(new_esEs0(Integer(new_error)), Integer(Neg(Zero)), Integer(Pos(x0)))) (new_gcd0Gcd'(Integer(Pos(Zero)), Integer(Neg(x0))) -> new_gcd0Gcd'10(new_esEs0(Integer(new_error)), Integer(Pos(Zero)), Integer(Neg(x0))),new_gcd0Gcd'(Integer(Pos(Zero)), Integer(Neg(x0))) -> new_gcd0Gcd'10(new_esEs0(Integer(new_error)), Integer(Pos(Zero)), Integer(Neg(x0)))) ---------------------------------------- (674) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'00(vuz97, vuz109) -> new_gcd0Gcd'(vuz109, vuz97) new_gcd0Gcd'10(False, vuz97, vuz99) -> new_gcd0Gcd'00(vuz97, new_rem0(vuz99, vuz97)) new_gcd0Gcd'(Integer(Neg(Succ(x1))), Integer(Pos(x0))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(x0, x1)))), Integer(Neg(Succ(x1))), Integer(Pos(x0))) new_gcd0Gcd'(Integer(Pos(Succ(x1))), Integer(Pos(x0))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(x0, x1)))), Integer(Pos(Succ(x1))), Integer(Pos(x0))) new_gcd0Gcd'(Integer(Neg(Zero)), Integer(Neg(x0))) -> new_gcd0Gcd'10(new_esEs0(Integer(new_error)), Integer(Neg(Zero)), Integer(Neg(x0))) new_gcd0Gcd'(Integer(Pos(Succ(x1))), Integer(Neg(x0))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(x0, x1)))), Integer(Pos(Succ(x1))), Integer(Neg(x0))) new_gcd0Gcd'(Integer(Pos(Zero)), Integer(Pos(x0))) -> new_gcd0Gcd'10(new_esEs0(Integer(new_error)), Integer(Pos(Zero)), Integer(Pos(x0))) new_gcd0Gcd'(Integer(Neg(Succ(x1))), Integer(Neg(x0))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(x0, x1)))), Integer(Neg(Succ(x1))), Integer(Neg(x0))) new_gcd0Gcd'(Integer(Neg(Zero)), Integer(Pos(x0))) -> new_gcd0Gcd'10(new_esEs0(Integer(new_error)), Integer(Neg(Zero)), Integer(Pos(x0))) new_gcd0Gcd'(Integer(Pos(Zero)), Integer(Neg(x0))) -> new_gcd0Gcd'10(new_esEs0(Integer(new_error)), Integer(Pos(Zero)), Integer(Neg(x0))) The TRS R consists of the following rules: new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error new_rem0(Integer(vuz990), Integer(vuz970)) -> Integer(new_primRemInt(vuz990, vuz970)) new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_esEs0(Integer(Neg(Zero))) -> True new_primModNatS1(Zero, vuz7400) -> Zero new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error new_error -> error([]) new_esEs0(Integer(Neg(Succ(vuz101000)))) -> False new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_esEs0(Integer(Pos(Zero))) -> True new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error new_esEs0(Integer(Pos(Succ(vuz101000)))) -> False The set Q consists of the following terms: new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_esEs0(Integer(Neg(Succ(x0)))) new_esEs0(Integer(Pos(Succ(x0)))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_esEs0(Integer(Neg(Zero))) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(Zero, Succ(x0)) new_esEs0(Integer(Pos(Zero))) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_primModNatS01(x0, x1, Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_rem0(Integer(x0), Integer(x1)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primMinusNatS0(Zero, Zero) new_primModNatS02(x0, x1) new_primModNatS1(Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (675) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Integer(Neg(Zero)), Integer(Neg(x0))) -> new_gcd0Gcd'10(new_esEs0(Integer(new_error)), Integer(Neg(Zero)), Integer(Neg(x0))) at position [0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Integer(Neg(Zero)), Integer(Neg(x0))) -> new_gcd0Gcd'10(new_esEs0(Integer(error([]))), Integer(Neg(Zero)), Integer(Neg(x0))),new_gcd0Gcd'(Integer(Neg(Zero)), Integer(Neg(x0))) -> new_gcd0Gcd'10(new_esEs0(Integer(error([]))), Integer(Neg(Zero)), Integer(Neg(x0)))) ---------------------------------------- (676) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'00(vuz97, vuz109) -> new_gcd0Gcd'(vuz109, vuz97) new_gcd0Gcd'10(False, vuz97, vuz99) -> new_gcd0Gcd'00(vuz97, new_rem0(vuz99, vuz97)) new_gcd0Gcd'(Integer(Neg(Succ(x1))), Integer(Pos(x0))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(x0, x1)))), Integer(Neg(Succ(x1))), Integer(Pos(x0))) new_gcd0Gcd'(Integer(Pos(Succ(x1))), Integer(Pos(x0))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(x0, x1)))), Integer(Pos(Succ(x1))), Integer(Pos(x0))) new_gcd0Gcd'(Integer(Pos(Succ(x1))), Integer(Neg(x0))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(x0, x1)))), Integer(Pos(Succ(x1))), Integer(Neg(x0))) new_gcd0Gcd'(Integer(Pos(Zero)), Integer(Pos(x0))) -> new_gcd0Gcd'10(new_esEs0(Integer(new_error)), Integer(Pos(Zero)), Integer(Pos(x0))) new_gcd0Gcd'(Integer(Neg(Succ(x1))), Integer(Neg(x0))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(x0, x1)))), Integer(Neg(Succ(x1))), Integer(Neg(x0))) new_gcd0Gcd'(Integer(Neg(Zero)), Integer(Pos(x0))) -> new_gcd0Gcd'10(new_esEs0(Integer(new_error)), Integer(Neg(Zero)), Integer(Pos(x0))) new_gcd0Gcd'(Integer(Pos(Zero)), Integer(Neg(x0))) -> new_gcd0Gcd'10(new_esEs0(Integer(new_error)), Integer(Pos(Zero)), Integer(Neg(x0))) new_gcd0Gcd'(Integer(Neg(Zero)), Integer(Neg(x0))) -> new_gcd0Gcd'10(new_esEs0(Integer(error([]))), Integer(Neg(Zero)), Integer(Neg(x0))) The TRS R consists of the following rules: new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error new_rem0(Integer(vuz990), Integer(vuz970)) -> Integer(new_primRemInt(vuz990, vuz970)) new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_esEs0(Integer(Neg(Zero))) -> True new_primModNatS1(Zero, vuz7400) -> Zero new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error new_error -> error([]) new_esEs0(Integer(Neg(Succ(vuz101000)))) -> False new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_esEs0(Integer(Pos(Zero))) -> True new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error new_esEs0(Integer(Pos(Succ(vuz101000)))) -> False The set Q consists of the following terms: new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_esEs0(Integer(Neg(Succ(x0)))) new_esEs0(Integer(Pos(Succ(x0)))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_esEs0(Integer(Neg(Zero))) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(Zero, Succ(x0)) new_esEs0(Integer(Pos(Zero))) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_primModNatS01(x0, x1, Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_rem0(Integer(x0), Integer(x1)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primMinusNatS0(Zero, Zero) new_primModNatS02(x0, x1) new_primModNatS1(Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (677) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (678) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Integer(Neg(Succ(x1))), Integer(Pos(x0))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(x0, x1)))), Integer(Neg(Succ(x1))), Integer(Pos(x0))) new_gcd0Gcd'10(False, vuz97, vuz99) -> new_gcd0Gcd'00(vuz97, new_rem0(vuz99, vuz97)) new_gcd0Gcd'00(vuz97, vuz109) -> new_gcd0Gcd'(vuz109, vuz97) new_gcd0Gcd'(Integer(Pos(Succ(x1))), Integer(Pos(x0))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(x0, x1)))), Integer(Pos(Succ(x1))), Integer(Pos(x0))) new_gcd0Gcd'(Integer(Pos(Succ(x1))), Integer(Neg(x0))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(x0, x1)))), Integer(Pos(Succ(x1))), Integer(Neg(x0))) new_gcd0Gcd'(Integer(Pos(Zero)), Integer(Pos(x0))) -> new_gcd0Gcd'10(new_esEs0(Integer(new_error)), Integer(Pos(Zero)), Integer(Pos(x0))) new_gcd0Gcd'(Integer(Neg(Succ(x1))), Integer(Neg(x0))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(x0, x1)))), Integer(Neg(Succ(x1))), Integer(Neg(x0))) new_gcd0Gcd'(Integer(Neg(Zero)), Integer(Pos(x0))) -> new_gcd0Gcd'10(new_esEs0(Integer(new_error)), Integer(Neg(Zero)), Integer(Pos(x0))) new_gcd0Gcd'(Integer(Pos(Zero)), Integer(Neg(x0))) -> new_gcd0Gcd'10(new_esEs0(Integer(new_error)), Integer(Pos(Zero)), Integer(Neg(x0))) The TRS R consists of the following rules: new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error new_rem0(Integer(vuz990), Integer(vuz970)) -> Integer(new_primRemInt(vuz990, vuz970)) new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_esEs0(Integer(Neg(Zero))) -> True new_primModNatS1(Zero, vuz7400) -> Zero new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error new_error -> error([]) new_esEs0(Integer(Neg(Succ(vuz101000)))) -> False new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_esEs0(Integer(Pos(Zero))) -> True new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error new_esEs0(Integer(Pos(Succ(vuz101000)))) -> False The set Q consists of the following terms: new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_esEs0(Integer(Neg(Succ(x0)))) new_esEs0(Integer(Pos(Succ(x0)))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_esEs0(Integer(Neg(Zero))) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(Zero, Succ(x0)) new_esEs0(Integer(Pos(Zero))) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_primModNatS01(x0, x1, Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_rem0(Integer(x0), Integer(x1)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primMinusNatS0(Zero, Zero) new_primModNatS02(x0, x1) new_primModNatS1(Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (679) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Integer(Pos(Zero)), Integer(Pos(x0))) -> new_gcd0Gcd'10(new_esEs0(Integer(new_error)), Integer(Pos(Zero)), Integer(Pos(x0))) at position [0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Integer(Pos(Zero)), Integer(Pos(x0))) -> new_gcd0Gcd'10(new_esEs0(Integer(error([]))), Integer(Pos(Zero)), Integer(Pos(x0))),new_gcd0Gcd'(Integer(Pos(Zero)), Integer(Pos(x0))) -> new_gcd0Gcd'10(new_esEs0(Integer(error([]))), Integer(Pos(Zero)), Integer(Pos(x0)))) ---------------------------------------- (680) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Integer(Neg(Succ(x1))), Integer(Pos(x0))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(x0, x1)))), Integer(Neg(Succ(x1))), Integer(Pos(x0))) new_gcd0Gcd'10(False, vuz97, vuz99) -> new_gcd0Gcd'00(vuz97, new_rem0(vuz99, vuz97)) new_gcd0Gcd'00(vuz97, vuz109) -> new_gcd0Gcd'(vuz109, vuz97) new_gcd0Gcd'(Integer(Pos(Succ(x1))), Integer(Pos(x0))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(x0, x1)))), Integer(Pos(Succ(x1))), Integer(Pos(x0))) new_gcd0Gcd'(Integer(Pos(Succ(x1))), Integer(Neg(x0))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(x0, x1)))), Integer(Pos(Succ(x1))), Integer(Neg(x0))) new_gcd0Gcd'(Integer(Neg(Succ(x1))), Integer(Neg(x0))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(x0, x1)))), Integer(Neg(Succ(x1))), Integer(Neg(x0))) new_gcd0Gcd'(Integer(Neg(Zero)), Integer(Pos(x0))) -> new_gcd0Gcd'10(new_esEs0(Integer(new_error)), Integer(Neg(Zero)), Integer(Pos(x0))) new_gcd0Gcd'(Integer(Pos(Zero)), Integer(Neg(x0))) -> new_gcd0Gcd'10(new_esEs0(Integer(new_error)), Integer(Pos(Zero)), Integer(Neg(x0))) new_gcd0Gcd'(Integer(Pos(Zero)), Integer(Pos(x0))) -> new_gcd0Gcd'10(new_esEs0(Integer(error([]))), Integer(Pos(Zero)), Integer(Pos(x0))) The TRS R consists of the following rules: new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error new_rem0(Integer(vuz990), Integer(vuz970)) -> Integer(new_primRemInt(vuz990, vuz970)) new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_esEs0(Integer(Neg(Zero))) -> True new_primModNatS1(Zero, vuz7400) -> Zero new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error new_error -> error([]) new_esEs0(Integer(Neg(Succ(vuz101000)))) -> False new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_esEs0(Integer(Pos(Zero))) -> True new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error new_esEs0(Integer(Pos(Succ(vuz101000)))) -> False The set Q consists of the following terms: new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_esEs0(Integer(Neg(Succ(x0)))) new_esEs0(Integer(Pos(Succ(x0)))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_esEs0(Integer(Neg(Zero))) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(Zero, Succ(x0)) new_esEs0(Integer(Pos(Zero))) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_primModNatS01(x0, x1, Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_rem0(Integer(x0), Integer(x1)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primMinusNatS0(Zero, Zero) new_primModNatS02(x0, x1) new_primModNatS1(Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (681) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (682) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'10(False, vuz97, vuz99) -> new_gcd0Gcd'00(vuz97, new_rem0(vuz99, vuz97)) new_gcd0Gcd'00(vuz97, vuz109) -> new_gcd0Gcd'(vuz109, vuz97) new_gcd0Gcd'(Integer(Neg(Succ(x1))), Integer(Pos(x0))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(x0, x1)))), Integer(Neg(Succ(x1))), Integer(Pos(x0))) new_gcd0Gcd'(Integer(Pos(Succ(x1))), Integer(Pos(x0))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(x0, x1)))), Integer(Pos(Succ(x1))), Integer(Pos(x0))) new_gcd0Gcd'(Integer(Pos(Succ(x1))), Integer(Neg(x0))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(x0, x1)))), Integer(Pos(Succ(x1))), Integer(Neg(x0))) new_gcd0Gcd'(Integer(Neg(Succ(x1))), Integer(Neg(x0))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(x0, x1)))), Integer(Neg(Succ(x1))), Integer(Neg(x0))) new_gcd0Gcd'(Integer(Neg(Zero)), Integer(Pos(x0))) -> new_gcd0Gcd'10(new_esEs0(Integer(new_error)), Integer(Neg(Zero)), Integer(Pos(x0))) new_gcd0Gcd'(Integer(Pos(Zero)), Integer(Neg(x0))) -> new_gcd0Gcd'10(new_esEs0(Integer(new_error)), Integer(Pos(Zero)), Integer(Neg(x0))) The TRS R consists of the following rules: new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error new_rem0(Integer(vuz990), Integer(vuz970)) -> Integer(new_primRemInt(vuz990, vuz970)) new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_esEs0(Integer(Neg(Zero))) -> True new_primModNatS1(Zero, vuz7400) -> Zero new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error new_error -> error([]) new_esEs0(Integer(Neg(Succ(vuz101000)))) -> False new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_esEs0(Integer(Pos(Zero))) -> True new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error new_esEs0(Integer(Pos(Succ(vuz101000)))) -> False The set Q consists of the following terms: new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_esEs0(Integer(Neg(Succ(x0)))) new_esEs0(Integer(Pos(Succ(x0)))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_esEs0(Integer(Neg(Zero))) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(Zero, Succ(x0)) new_esEs0(Integer(Pos(Zero))) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_primModNatS01(x0, x1, Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_rem0(Integer(x0), Integer(x1)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primMinusNatS0(Zero, Zero) new_primModNatS02(x0, x1) new_primModNatS1(Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (683) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Integer(Neg(Zero)), Integer(Pos(x0))) -> new_gcd0Gcd'10(new_esEs0(Integer(new_error)), Integer(Neg(Zero)), Integer(Pos(x0))) at position [0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Integer(Neg(Zero)), Integer(Pos(x0))) -> new_gcd0Gcd'10(new_esEs0(Integer(error([]))), Integer(Neg(Zero)), Integer(Pos(x0))),new_gcd0Gcd'(Integer(Neg(Zero)), Integer(Pos(x0))) -> new_gcd0Gcd'10(new_esEs0(Integer(error([]))), Integer(Neg(Zero)), Integer(Pos(x0)))) ---------------------------------------- (684) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'10(False, vuz97, vuz99) -> new_gcd0Gcd'00(vuz97, new_rem0(vuz99, vuz97)) new_gcd0Gcd'00(vuz97, vuz109) -> new_gcd0Gcd'(vuz109, vuz97) new_gcd0Gcd'(Integer(Neg(Succ(x1))), Integer(Pos(x0))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(x0, x1)))), Integer(Neg(Succ(x1))), Integer(Pos(x0))) new_gcd0Gcd'(Integer(Pos(Succ(x1))), Integer(Pos(x0))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(x0, x1)))), Integer(Pos(Succ(x1))), Integer(Pos(x0))) new_gcd0Gcd'(Integer(Pos(Succ(x1))), Integer(Neg(x0))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(x0, x1)))), Integer(Pos(Succ(x1))), Integer(Neg(x0))) new_gcd0Gcd'(Integer(Neg(Succ(x1))), Integer(Neg(x0))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(x0, x1)))), Integer(Neg(Succ(x1))), Integer(Neg(x0))) new_gcd0Gcd'(Integer(Pos(Zero)), Integer(Neg(x0))) -> new_gcd0Gcd'10(new_esEs0(Integer(new_error)), Integer(Pos(Zero)), Integer(Neg(x0))) new_gcd0Gcd'(Integer(Neg(Zero)), Integer(Pos(x0))) -> new_gcd0Gcd'10(new_esEs0(Integer(error([]))), Integer(Neg(Zero)), Integer(Pos(x0))) The TRS R consists of the following rules: new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error new_rem0(Integer(vuz990), Integer(vuz970)) -> Integer(new_primRemInt(vuz990, vuz970)) new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_esEs0(Integer(Neg(Zero))) -> True new_primModNatS1(Zero, vuz7400) -> Zero new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error new_error -> error([]) new_esEs0(Integer(Neg(Succ(vuz101000)))) -> False new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_esEs0(Integer(Pos(Zero))) -> True new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error new_esEs0(Integer(Pos(Succ(vuz101000)))) -> False The set Q consists of the following terms: new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_esEs0(Integer(Neg(Succ(x0)))) new_esEs0(Integer(Pos(Succ(x0)))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_esEs0(Integer(Neg(Zero))) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(Zero, Succ(x0)) new_esEs0(Integer(Pos(Zero))) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_primModNatS01(x0, x1, Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_rem0(Integer(x0), Integer(x1)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primMinusNatS0(Zero, Zero) new_primModNatS02(x0, x1) new_primModNatS1(Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (685) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (686) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'00(vuz97, vuz109) -> new_gcd0Gcd'(vuz109, vuz97) new_gcd0Gcd'(Integer(Neg(Succ(x1))), Integer(Pos(x0))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(x0, x1)))), Integer(Neg(Succ(x1))), Integer(Pos(x0))) new_gcd0Gcd'10(False, vuz97, vuz99) -> new_gcd0Gcd'00(vuz97, new_rem0(vuz99, vuz97)) new_gcd0Gcd'(Integer(Pos(Succ(x1))), Integer(Pos(x0))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(x0, x1)))), Integer(Pos(Succ(x1))), Integer(Pos(x0))) new_gcd0Gcd'(Integer(Pos(Succ(x1))), Integer(Neg(x0))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(x0, x1)))), Integer(Pos(Succ(x1))), Integer(Neg(x0))) new_gcd0Gcd'(Integer(Neg(Succ(x1))), Integer(Neg(x0))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(x0, x1)))), Integer(Neg(Succ(x1))), Integer(Neg(x0))) new_gcd0Gcd'(Integer(Pos(Zero)), Integer(Neg(x0))) -> new_gcd0Gcd'10(new_esEs0(Integer(new_error)), Integer(Pos(Zero)), Integer(Neg(x0))) The TRS R consists of the following rules: new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error new_rem0(Integer(vuz990), Integer(vuz970)) -> Integer(new_primRemInt(vuz990, vuz970)) new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_esEs0(Integer(Neg(Zero))) -> True new_primModNatS1(Zero, vuz7400) -> Zero new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error new_error -> error([]) new_esEs0(Integer(Neg(Succ(vuz101000)))) -> False new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_esEs0(Integer(Pos(Zero))) -> True new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error new_esEs0(Integer(Pos(Succ(vuz101000)))) -> False The set Q consists of the following terms: new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_esEs0(Integer(Neg(Succ(x0)))) new_esEs0(Integer(Pos(Succ(x0)))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_esEs0(Integer(Neg(Zero))) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(Zero, Succ(x0)) new_esEs0(Integer(Pos(Zero))) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_primModNatS01(x0, x1, Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_rem0(Integer(x0), Integer(x1)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primMinusNatS0(Zero, Zero) new_primModNatS02(x0, x1) new_primModNatS1(Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (687) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Integer(Pos(Zero)), Integer(Neg(x0))) -> new_gcd0Gcd'10(new_esEs0(Integer(new_error)), Integer(Pos(Zero)), Integer(Neg(x0))) at position [0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Integer(Pos(Zero)), Integer(Neg(x0))) -> new_gcd0Gcd'10(new_esEs0(Integer(error([]))), Integer(Pos(Zero)), Integer(Neg(x0))),new_gcd0Gcd'(Integer(Pos(Zero)), Integer(Neg(x0))) -> new_gcd0Gcd'10(new_esEs0(Integer(error([]))), Integer(Pos(Zero)), Integer(Neg(x0)))) ---------------------------------------- (688) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'00(vuz97, vuz109) -> new_gcd0Gcd'(vuz109, vuz97) new_gcd0Gcd'(Integer(Neg(Succ(x1))), Integer(Pos(x0))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(x0, x1)))), Integer(Neg(Succ(x1))), Integer(Pos(x0))) new_gcd0Gcd'10(False, vuz97, vuz99) -> new_gcd0Gcd'00(vuz97, new_rem0(vuz99, vuz97)) new_gcd0Gcd'(Integer(Pos(Succ(x1))), Integer(Pos(x0))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(x0, x1)))), Integer(Pos(Succ(x1))), Integer(Pos(x0))) new_gcd0Gcd'(Integer(Pos(Succ(x1))), Integer(Neg(x0))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(x0, x1)))), Integer(Pos(Succ(x1))), Integer(Neg(x0))) new_gcd0Gcd'(Integer(Neg(Succ(x1))), Integer(Neg(x0))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(x0, x1)))), Integer(Neg(Succ(x1))), Integer(Neg(x0))) new_gcd0Gcd'(Integer(Pos(Zero)), Integer(Neg(x0))) -> new_gcd0Gcd'10(new_esEs0(Integer(error([]))), Integer(Pos(Zero)), Integer(Neg(x0))) The TRS R consists of the following rules: new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error new_rem0(Integer(vuz990), Integer(vuz970)) -> Integer(new_primRemInt(vuz990, vuz970)) new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_esEs0(Integer(Neg(Zero))) -> True new_primModNatS1(Zero, vuz7400) -> Zero new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error new_error -> error([]) new_esEs0(Integer(Neg(Succ(vuz101000)))) -> False new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_esEs0(Integer(Pos(Zero))) -> True new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error new_esEs0(Integer(Pos(Succ(vuz101000)))) -> False The set Q consists of the following terms: new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_esEs0(Integer(Neg(Succ(x0)))) new_esEs0(Integer(Pos(Succ(x0)))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_esEs0(Integer(Neg(Zero))) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(Zero, Succ(x0)) new_esEs0(Integer(Pos(Zero))) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_primModNatS01(x0, x1, Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_rem0(Integer(x0), Integer(x1)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primMinusNatS0(Zero, Zero) new_primModNatS02(x0, x1) new_primModNatS1(Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (689) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (690) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Integer(Neg(Succ(x1))), Integer(Pos(x0))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(x0, x1)))), Integer(Neg(Succ(x1))), Integer(Pos(x0))) new_gcd0Gcd'10(False, vuz97, vuz99) -> new_gcd0Gcd'00(vuz97, new_rem0(vuz99, vuz97)) new_gcd0Gcd'00(vuz97, vuz109) -> new_gcd0Gcd'(vuz109, vuz97) new_gcd0Gcd'(Integer(Pos(Succ(x1))), Integer(Pos(x0))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(x0, x1)))), Integer(Pos(Succ(x1))), Integer(Pos(x0))) new_gcd0Gcd'(Integer(Pos(Succ(x1))), Integer(Neg(x0))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(x0, x1)))), Integer(Pos(Succ(x1))), Integer(Neg(x0))) new_gcd0Gcd'(Integer(Neg(Succ(x1))), Integer(Neg(x0))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(x0, x1)))), Integer(Neg(Succ(x1))), Integer(Neg(x0))) The TRS R consists of the following rules: new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error new_rem0(Integer(vuz990), Integer(vuz970)) -> Integer(new_primRemInt(vuz990, vuz970)) new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_esEs0(Integer(Neg(Zero))) -> True new_primModNatS1(Zero, vuz7400) -> Zero new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error new_error -> error([]) new_esEs0(Integer(Neg(Succ(vuz101000)))) -> False new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_esEs0(Integer(Pos(Zero))) -> True new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error new_esEs0(Integer(Pos(Succ(vuz101000)))) -> False The set Q consists of the following terms: new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_esEs0(Integer(Neg(Succ(x0)))) new_esEs0(Integer(Pos(Succ(x0)))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_esEs0(Integer(Neg(Zero))) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(Zero, Succ(x0)) new_esEs0(Integer(Pos(Zero))) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_primModNatS01(x0, x1, Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_rem0(Integer(x0), Integer(x1)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primMinusNatS0(Zero, Zero) new_primModNatS02(x0, x1) new_primModNatS1(Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (691) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_gcd0Gcd'(Integer(Neg(Succ(x1))), Integer(Pos(x0))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(x0, x1)))), Integer(Neg(Succ(x1))), Integer(Pos(x0))) at position [0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(Succ(Zero)))), Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))),new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(Succ(Zero)))), Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero))))) (new_gcd0Gcd'(Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(x0, x1, x0, x1)))), Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))),new_gcd0Gcd'(Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(x0, x1, x0, x1)))), Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0)))))) (new_gcd0Gcd'(Integer(Neg(Succ(x0))), Integer(Pos(Zero))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(Zero))), Integer(Neg(Succ(x0))), Integer(Pos(Zero))),new_gcd0Gcd'(Integer(Neg(Succ(x0))), Integer(Pos(Zero))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(Zero))), Integer(Neg(Succ(x0))), Integer(Pos(Zero)))) (new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Zero)))),new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Zero))))) (new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))),new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0)))))) ---------------------------------------- (692) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'10(False, vuz97, vuz99) -> new_gcd0Gcd'00(vuz97, new_rem0(vuz99, vuz97)) new_gcd0Gcd'00(vuz97, vuz109) -> new_gcd0Gcd'(vuz109, vuz97) new_gcd0Gcd'(Integer(Pos(Succ(x1))), Integer(Pos(x0))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(x0, x1)))), Integer(Pos(Succ(x1))), Integer(Pos(x0))) new_gcd0Gcd'(Integer(Pos(Succ(x1))), Integer(Neg(x0))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(x0, x1)))), Integer(Pos(Succ(x1))), Integer(Neg(x0))) new_gcd0Gcd'(Integer(Neg(Succ(x1))), Integer(Neg(x0))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(x0, x1)))), Integer(Neg(Succ(x1))), Integer(Neg(x0))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(Succ(Zero)))), Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(x0, x1, x0, x1)))), Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Neg(Succ(x0))), Integer(Pos(Zero))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(Zero))), Integer(Neg(Succ(x0))), Integer(Pos(Zero))) new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) The TRS R consists of the following rules: new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error new_rem0(Integer(vuz990), Integer(vuz970)) -> Integer(new_primRemInt(vuz990, vuz970)) new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_esEs0(Integer(Neg(Zero))) -> True new_primModNatS1(Zero, vuz7400) -> Zero new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error new_error -> error([]) new_esEs0(Integer(Neg(Succ(vuz101000)))) -> False new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_esEs0(Integer(Pos(Zero))) -> True new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error new_esEs0(Integer(Pos(Succ(vuz101000)))) -> False The set Q consists of the following terms: new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_esEs0(Integer(Neg(Succ(x0)))) new_esEs0(Integer(Pos(Succ(x0)))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_esEs0(Integer(Neg(Zero))) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(Zero, Succ(x0)) new_esEs0(Integer(Pos(Zero))) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_primModNatS01(x0, x1, Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_rem0(Integer(x0), Integer(x1)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primMinusNatS0(Zero, Zero) new_primModNatS02(x0, x1) new_primModNatS1(Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (693) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (694) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'00(vuz97, vuz109) -> new_gcd0Gcd'(vuz109, vuz97) new_gcd0Gcd'(Integer(Pos(Succ(x1))), Integer(Pos(x0))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(x0, x1)))), Integer(Pos(Succ(x1))), Integer(Pos(x0))) new_gcd0Gcd'10(False, vuz97, vuz99) -> new_gcd0Gcd'00(vuz97, new_rem0(vuz99, vuz97)) new_gcd0Gcd'(Integer(Pos(Succ(x1))), Integer(Neg(x0))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(x0, x1)))), Integer(Pos(Succ(x1))), Integer(Neg(x0))) new_gcd0Gcd'(Integer(Neg(Succ(x1))), Integer(Neg(x0))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(x0, x1)))), Integer(Neg(Succ(x1))), Integer(Neg(x0))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(Succ(Zero)))), Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(x0, x1, x0, x1)))), Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) The TRS R consists of the following rules: new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error new_rem0(Integer(vuz990), Integer(vuz970)) -> Integer(new_primRemInt(vuz990, vuz970)) new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_esEs0(Integer(Neg(Zero))) -> True new_primModNatS1(Zero, vuz7400) -> Zero new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error new_error -> error([]) new_esEs0(Integer(Neg(Succ(vuz101000)))) -> False new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_esEs0(Integer(Pos(Zero))) -> True new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error new_esEs0(Integer(Pos(Succ(vuz101000)))) -> False The set Q consists of the following terms: new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_esEs0(Integer(Neg(Succ(x0)))) new_esEs0(Integer(Pos(Succ(x0)))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_esEs0(Integer(Neg(Zero))) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(Zero, Succ(x0)) new_esEs0(Integer(Pos(Zero))) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_primModNatS01(x0, x1, Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_rem0(Integer(x0), Integer(x1)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primMinusNatS0(Zero, Zero) new_primModNatS02(x0, x1) new_primModNatS1(Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (695) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(Succ(Zero)))), Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) at position [0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))),new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero))))) ---------------------------------------- (696) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'00(vuz97, vuz109) -> new_gcd0Gcd'(vuz109, vuz97) new_gcd0Gcd'(Integer(Pos(Succ(x1))), Integer(Pos(x0))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(x0, x1)))), Integer(Pos(Succ(x1))), Integer(Pos(x0))) new_gcd0Gcd'10(False, vuz97, vuz99) -> new_gcd0Gcd'00(vuz97, new_rem0(vuz99, vuz97)) new_gcd0Gcd'(Integer(Pos(Succ(x1))), Integer(Neg(x0))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(x0, x1)))), Integer(Pos(Succ(x1))), Integer(Neg(x0))) new_gcd0Gcd'(Integer(Neg(Succ(x1))), Integer(Neg(x0))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(x0, x1)))), Integer(Neg(Succ(x1))), Integer(Neg(x0))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(x0, x1, x0, x1)))), Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error new_rem0(Integer(vuz990), Integer(vuz970)) -> Integer(new_primRemInt(vuz990, vuz970)) new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_esEs0(Integer(Neg(Zero))) -> True new_primModNatS1(Zero, vuz7400) -> Zero new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error new_error -> error([]) new_esEs0(Integer(Neg(Succ(vuz101000)))) -> False new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_esEs0(Integer(Pos(Zero))) -> True new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error new_esEs0(Integer(Pos(Succ(vuz101000)))) -> False The set Q consists of the following terms: new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_esEs0(Integer(Neg(Succ(x0)))) new_esEs0(Integer(Pos(Succ(x0)))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_esEs0(Integer(Neg(Zero))) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(Zero, Succ(x0)) new_esEs0(Integer(Pos(Zero))) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_primModNatS01(x0, x1, Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_rem0(Integer(x0), Integer(x1)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primMinusNatS0(Zero, Zero) new_primModNatS02(x0, x1) new_primModNatS1(Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (697) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Zero)))) at position [0,0,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Zero, Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Zero)))),new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Zero, Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Zero))))) ---------------------------------------- (698) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'00(vuz97, vuz109) -> new_gcd0Gcd'(vuz109, vuz97) new_gcd0Gcd'(Integer(Pos(Succ(x1))), Integer(Pos(x0))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(x0, x1)))), Integer(Pos(Succ(x1))), Integer(Pos(x0))) new_gcd0Gcd'10(False, vuz97, vuz99) -> new_gcd0Gcd'00(vuz97, new_rem0(vuz99, vuz97)) new_gcd0Gcd'(Integer(Pos(Succ(x1))), Integer(Neg(x0))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(x0, x1)))), Integer(Pos(Succ(x1))), Integer(Neg(x0))) new_gcd0Gcd'(Integer(Neg(Succ(x1))), Integer(Neg(x0))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(x0, x1)))), Integer(Neg(Succ(x1))), Integer(Neg(x0))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(x0, x1, x0, x1)))), Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Zero, Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error new_rem0(Integer(vuz990), Integer(vuz970)) -> Integer(new_primRemInt(vuz990, vuz970)) new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_esEs0(Integer(Neg(Zero))) -> True new_primModNatS1(Zero, vuz7400) -> Zero new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error new_error -> error([]) new_esEs0(Integer(Neg(Succ(vuz101000)))) -> False new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_esEs0(Integer(Pos(Zero))) -> True new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error new_esEs0(Integer(Pos(Succ(vuz101000)))) -> False The set Q consists of the following terms: new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_esEs0(Integer(Neg(Succ(x0)))) new_esEs0(Integer(Pos(Succ(x0)))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_esEs0(Integer(Neg(Zero))) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(Zero, Succ(x0)) new_esEs0(Integer(Pos(Zero))) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_primModNatS01(x0, x1, Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_rem0(Integer(x0), Integer(x1)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primMinusNatS0(Zero, Zero) new_primModNatS02(x0, x1) new_primModNatS1(Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (699) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) at position [0,0,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))),new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0)))))) ---------------------------------------- (700) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'00(vuz97, vuz109) -> new_gcd0Gcd'(vuz109, vuz97) new_gcd0Gcd'(Integer(Pos(Succ(x1))), Integer(Pos(x0))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(x0, x1)))), Integer(Pos(Succ(x1))), Integer(Pos(x0))) new_gcd0Gcd'10(False, vuz97, vuz99) -> new_gcd0Gcd'00(vuz97, new_rem0(vuz99, vuz97)) new_gcd0Gcd'(Integer(Pos(Succ(x1))), Integer(Neg(x0))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(x0, x1)))), Integer(Pos(Succ(x1))), Integer(Neg(x0))) new_gcd0Gcd'(Integer(Neg(Succ(x1))), Integer(Neg(x0))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(x0, x1)))), Integer(Neg(Succ(x1))), Integer(Neg(x0))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(x0, x1, x0, x1)))), Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Zero, Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) The TRS R consists of the following rules: new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error new_rem0(Integer(vuz990), Integer(vuz970)) -> Integer(new_primRemInt(vuz990, vuz970)) new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_esEs0(Integer(Neg(Zero))) -> True new_primModNatS1(Zero, vuz7400) -> Zero new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error new_error -> error([]) new_esEs0(Integer(Neg(Succ(vuz101000)))) -> False new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_esEs0(Integer(Pos(Zero))) -> True new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error new_esEs0(Integer(Pos(Succ(vuz101000)))) -> False The set Q consists of the following terms: new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_esEs0(Integer(Neg(Succ(x0)))) new_esEs0(Integer(Pos(Succ(x0)))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_esEs0(Integer(Neg(Zero))) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(Zero, Succ(x0)) new_esEs0(Integer(Pos(Zero))) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_primModNatS01(x0, x1, Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_rem0(Integer(x0), Integer(x1)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primMinusNatS0(Zero, Zero) new_primModNatS02(x0, x1) new_primModNatS1(Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (701) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Zero, Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Zero)))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(Zero))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Zero)))),new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(Zero))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Zero))))) ---------------------------------------- (702) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'00(vuz97, vuz109) -> new_gcd0Gcd'(vuz109, vuz97) new_gcd0Gcd'(Integer(Pos(Succ(x1))), Integer(Pos(x0))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(x0, x1)))), Integer(Pos(Succ(x1))), Integer(Pos(x0))) new_gcd0Gcd'10(False, vuz97, vuz99) -> new_gcd0Gcd'00(vuz97, new_rem0(vuz99, vuz97)) new_gcd0Gcd'(Integer(Pos(Succ(x1))), Integer(Neg(x0))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(x0, x1)))), Integer(Pos(Succ(x1))), Integer(Neg(x0))) new_gcd0Gcd'(Integer(Neg(Succ(x1))), Integer(Neg(x0))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(x0, x1)))), Integer(Neg(Succ(x1))), Integer(Neg(x0))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(x0, x1, x0, x1)))), Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(Zero))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error new_rem0(Integer(vuz990), Integer(vuz970)) -> Integer(new_primRemInt(vuz990, vuz970)) new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_esEs0(Integer(Neg(Zero))) -> True new_primModNatS1(Zero, vuz7400) -> Zero new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error new_error -> error([]) new_esEs0(Integer(Neg(Succ(vuz101000)))) -> False new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_esEs0(Integer(Pos(Zero))) -> True new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error new_esEs0(Integer(Pos(Succ(vuz101000)))) -> False The set Q consists of the following terms: new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_esEs0(Integer(Neg(Succ(x0)))) new_esEs0(Integer(Pos(Succ(x0)))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_esEs0(Integer(Neg(Zero))) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(Zero, Succ(x0)) new_esEs0(Integer(Pos(Zero))) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_primModNatS01(x0, x1, Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_rem0(Integer(x0), Integer(x1)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primMinusNatS0(Zero, Zero) new_primModNatS02(x0, x1) new_primModNatS1(Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (703) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (704) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Integer(Pos(Succ(x1))), Integer(Pos(x0))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(x0, x1)))), Integer(Pos(Succ(x1))), Integer(Pos(x0))) new_gcd0Gcd'10(False, vuz97, vuz99) -> new_gcd0Gcd'00(vuz97, new_rem0(vuz99, vuz97)) new_gcd0Gcd'00(vuz97, vuz109) -> new_gcd0Gcd'(vuz109, vuz97) new_gcd0Gcd'(Integer(Pos(Succ(x1))), Integer(Neg(x0))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(x0, x1)))), Integer(Pos(Succ(x1))), Integer(Neg(x0))) new_gcd0Gcd'(Integer(Neg(Succ(x1))), Integer(Neg(x0))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(x0, x1)))), Integer(Neg(Succ(x1))), Integer(Neg(x0))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(x0, x1, x0, x1)))), Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) The TRS R consists of the following rules: new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error new_rem0(Integer(vuz990), Integer(vuz970)) -> Integer(new_primRemInt(vuz990, vuz970)) new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_esEs0(Integer(Neg(Zero))) -> True new_primModNatS1(Zero, vuz7400) -> Zero new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error new_error -> error([]) new_esEs0(Integer(Neg(Succ(vuz101000)))) -> False new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_esEs0(Integer(Pos(Zero))) -> True new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error new_esEs0(Integer(Pos(Succ(vuz101000)))) -> False The set Q consists of the following terms: new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_esEs0(Integer(Neg(Succ(x0)))) new_esEs0(Integer(Pos(Succ(x0)))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_esEs0(Integer(Neg(Zero))) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(Zero, Succ(x0)) new_esEs0(Integer(Pos(Zero))) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_primModNatS01(x0, x1, Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_rem0(Integer(x0), Integer(x1)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primMinusNatS0(Zero, Zero) new_primModNatS02(x0, x1) new_primModNatS1(Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (705) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_gcd0Gcd'(Integer(Pos(Succ(x1))), Integer(Pos(x0))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(x0, x1)))), Integer(Pos(Succ(x1))), Integer(Pos(x0))) at position [0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(Succ(Zero)))), Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))),new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(Succ(Zero)))), Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero))))) (new_gcd0Gcd'(Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(x0, x1, x0, x1)))), Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))),new_gcd0Gcd'(Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(x0, x1, x0, x1)))), Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0)))))) (new_gcd0Gcd'(Integer(Pos(Succ(x0))), Integer(Pos(Zero))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(Zero))), Integer(Pos(Succ(x0))), Integer(Pos(Zero))),new_gcd0Gcd'(Integer(Pos(Succ(x0))), Integer(Pos(Zero))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(Zero))), Integer(Pos(Succ(x0))), Integer(Pos(Zero)))) (new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Zero)))),new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Zero))))) (new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))),new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0)))))) ---------------------------------------- (706) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'10(False, vuz97, vuz99) -> new_gcd0Gcd'00(vuz97, new_rem0(vuz99, vuz97)) new_gcd0Gcd'00(vuz97, vuz109) -> new_gcd0Gcd'(vuz109, vuz97) new_gcd0Gcd'(Integer(Pos(Succ(x1))), Integer(Neg(x0))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(x0, x1)))), Integer(Pos(Succ(x1))), Integer(Neg(x0))) new_gcd0Gcd'(Integer(Neg(Succ(x1))), Integer(Neg(x0))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(x0, x1)))), Integer(Neg(Succ(x1))), Integer(Neg(x0))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(x0, x1, x0, x1)))), Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(Succ(Zero)))), Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(x0, x1, x0, x1)))), Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Pos(Succ(x0))), Integer(Pos(Zero))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(Zero))), Integer(Pos(Succ(x0))), Integer(Pos(Zero))) new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) The TRS R consists of the following rules: new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error new_rem0(Integer(vuz990), Integer(vuz970)) -> Integer(new_primRemInt(vuz990, vuz970)) new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_esEs0(Integer(Neg(Zero))) -> True new_primModNatS1(Zero, vuz7400) -> Zero new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error new_error -> error([]) new_esEs0(Integer(Neg(Succ(vuz101000)))) -> False new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_esEs0(Integer(Pos(Zero))) -> True new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error new_esEs0(Integer(Pos(Succ(vuz101000)))) -> False The set Q consists of the following terms: new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_esEs0(Integer(Neg(Succ(x0)))) new_esEs0(Integer(Pos(Succ(x0)))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_esEs0(Integer(Neg(Zero))) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(Zero, Succ(x0)) new_esEs0(Integer(Pos(Zero))) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_primModNatS01(x0, x1, Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_rem0(Integer(x0), Integer(x1)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primMinusNatS0(Zero, Zero) new_primModNatS02(x0, x1) new_primModNatS1(Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (707) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (708) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'00(vuz97, vuz109) -> new_gcd0Gcd'(vuz109, vuz97) new_gcd0Gcd'(Integer(Pos(Succ(x1))), Integer(Neg(x0))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(x0, x1)))), Integer(Pos(Succ(x1))), Integer(Neg(x0))) new_gcd0Gcd'10(False, vuz97, vuz99) -> new_gcd0Gcd'00(vuz97, new_rem0(vuz99, vuz97)) new_gcd0Gcd'(Integer(Neg(Succ(x1))), Integer(Neg(x0))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(x0, x1)))), Integer(Neg(Succ(x1))), Integer(Neg(x0))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(x0, x1, x0, x1)))), Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(Succ(Zero)))), Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(x0, x1, x0, x1)))), Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) The TRS R consists of the following rules: new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error new_rem0(Integer(vuz990), Integer(vuz970)) -> Integer(new_primRemInt(vuz990, vuz970)) new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_esEs0(Integer(Neg(Zero))) -> True new_primModNatS1(Zero, vuz7400) -> Zero new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error new_error -> error([]) new_esEs0(Integer(Neg(Succ(vuz101000)))) -> False new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_esEs0(Integer(Pos(Zero))) -> True new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error new_esEs0(Integer(Pos(Succ(vuz101000)))) -> False The set Q consists of the following terms: new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_esEs0(Integer(Neg(Succ(x0)))) new_esEs0(Integer(Pos(Succ(x0)))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_esEs0(Integer(Neg(Zero))) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(Zero, Succ(x0)) new_esEs0(Integer(Pos(Zero))) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_primModNatS01(x0, x1, Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_rem0(Integer(x0), Integer(x1)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primMinusNatS0(Zero, Zero) new_primModNatS02(x0, x1) new_primModNatS1(Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (709) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(Succ(Zero)))), Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) at position [0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))),new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero))))) ---------------------------------------- (710) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'00(vuz97, vuz109) -> new_gcd0Gcd'(vuz109, vuz97) new_gcd0Gcd'(Integer(Pos(Succ(x1))), Integer(Neg(x0))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(x0, x1)))), Integer(Pos(Succ(x1))), Integer(Neg(x0))) new_gcd0Gcd'10(False, vuz97, vuz99) -> new_gcd0Gcd'00(vuz97, new_rem0(vuz99, vuz97)) new_gcd0Gcd'(Integer(Neg(Succ(x1))), Integer(Neg(x0))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(x0, x1)))), Integer(Neg(Succ(x1))), Integer(Neg(x0))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(x0, x1, x0, x1)))), Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(x0, x1, x0, x1)))), Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error new_rem0(Integer(vuz990), Integer(vuz970)) -> Integer(new_primRemInt(vuz990, vuz970)) new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_esEs0(Integer(Neg(Zero))) -> True new_primModNatS1(Zero, vuz7400) -> Zero new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error new_error -> error([]) new_esEs0(Integer(Neg(Succ(vuz101000)))) -> False new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_esEs0(Integer(Pos(Zero))) -> True new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error new_esEs0(Integer(Pos(Succ(vuz101000)))) -> False The set Q consists of the following terms: new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_esEs0(Integer(Neg(Succ(x0)))) new_esEs0(Integer(Pos(Succ(x0)))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_esEs0(Integer(Neg(Zero))) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(Zero, Succ(x0)) new_esEs0(Integer(Pos(Zero))) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_primModNatS01(x0, x1, Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_rem0(Integer(x0), Integer(x1)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primMinusNatS0(Zero, Zero) new_primModNatS02(x0, x1) new_primModNatS1(Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (711) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Zero)))) at position [0,0,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Zero, Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Zero)))),new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Zero, Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Zero))))) ---------------------------------------- (712) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'00(vuz97, vuz109) -> new_gcd0Gcd'(vuz109, vuz97) new_gcd0Gcd'(Integer(Pos(Succ(x1))), Integer(Neg(x0))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(x0, x1)))), Integer(Pos(Succ(x1))), Integer(Neg(x0))) new_gcd0Gcd'10(False, vuz97, vuz99) -> new_gcd0Gcd'00(vuz97, new_rem0(vuz99, vuz97)) new_gcd0Gcd'(Integer(Neg(Succ(x1))), Integer(Neg(x0))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(x0, x1)))), Integer(Neg(Succ(x1))), Integer(Neg(x0))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(x0, x1, x0, x1)))), Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(x0, x1, x0, x1)))), Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Zero, Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error new_rem0(Integer(vuz990), Integer(vuz970)) -> Integer(new_primRemInt(vuz990, vuz970)) new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_esEs0(Integer(Neg(Zero))) -> True new_primModNatS1(Zero, vuz7400) -> Zero new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error new_error -> error([]) new_esEs0(Integer(Neg(Succ(vuz101000)))) -> False new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_esEs0(Integer(Pos(Zero))) -> True new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error new_esEs0(Integer(Pos(Succ(vuz101000)))) -> False The set Q consists of the following terms: new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_esEs0(Integer(Neg(Succ(x0)))) new_esEs0(Integer(Pos(Succ(x0)))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_esEs0(Integer(Neg(Zero))) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(Zero, Succ(x0)) new_esEs0(Integer(Pos(Zero))) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_primModNatS01(x0, x1, Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_rem0(Integer(x0), Integer(x1)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primMinusNatS0(Zero, Zero) new_primModNatS02(x0, x1) new_primModNatS1(Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (713) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) at position [0,0,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))),new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0)))))) ---------------------------------------- (714) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'00(vuz97, vuz109) -> new_gcd0Gcd'(vuz109, vuz97) new_gcd0Gcd'(Integer(Pos(Succ(x1))), Integer(Neg(x0))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(x0, x1)))), Integer(Pos(Succ(x1))), Integer(Neg(x0))) new_gcd0Gcd'10(False, vuz97, vuz99) -> new_gcd0Gcd'00(vuz97, new_rem0(vuz99, vuz97)) new_gcd0Gcd'(Integer(Neg(Succ(x1))), Integer(Neg(x0))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(x0, x1)))), Integer(Neg(Succ(x1))), Integer(Neg(x0))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(x0, x1, x0, x1)))), Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(x0, x1, x0, x1)))), Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Zero, Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) The TRS R consists of the following rules: new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error new_rem0(Integer(vuz990), Integer(vuz970)) -> Integer(new_primRemInt(vuz990, vuz970)) new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_esEs0(Integer(Neg(Zero))) -> True new_primModNatS1(Zero, vuz7400) -> Zero new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error new_error -> error([]) new_esEs0(Integer(Neg(Succ(vuz101000)))) -> False new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_esEs0(Integer(Pos(Zero))) -> True new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error new_esEs0(Integer(Pos(Succ(vuz101000)))) -> False The set Q consists of the following terms: new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_esEs0(Integer(Neg(Succ(x0)))) new_esEs0(Integer(Pos(Succ(x0)))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_esEs0(Integer(Neg(Zero))) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(Zero, Succ(x0)) new_esEs0(Integer(Pos(Zero))) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_primModNatS01(x0, x1, Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_rem0(Integer(x0), Integer(x1)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primMinusNatS0(Zero, Zero) new_primModNatS02(x0, x1) new_primModNatS1(Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (715) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Zero, Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Zero)))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(Zero))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Zero)))),new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(Zero))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Zero))))) ---------------------------------------- (716) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'00(vuz97, vuz109) -> new_gcd0Gcd'(vuz109, vuz97) new_gcd0Gcd'(Integer(Pos(Succ(x1))), Integer(Neg(x0))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(x0, x1)))), Integer(Pos(Succ(x1))), Integer(Neg(x0))) new_gcd0Gcd'10(False, vuz97, vuz99) -> new_gcd0Gcd'00(vuz97, new_rem0(vuz99, vuz97)) new_gcd0Gcd'(Integer(Neg(Succ(x1))), Integer(Neg(x0))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(x0, x1)))), Integer(Neg(Succ(x1))), Integer(Neg(x0))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(x0, x1, x0, x1)))), Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(x0, x1, x0, x1)))), Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(Zero))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error new_rem0(Integer(vuz990), Integer(vuz970)) -> Integer(new_primRemInt(vuz990, vuz970)) new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_esEs0(Integer(Neg(Zero))) -> True new_primModNatS1(Zero, vuz7400) -> Zero new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error new_error -> error([]) new_esEs0(Integer(Neg(Succ(vuz101000)))) -> False new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_esEs0(Integer(Pos(Zero))) -> True new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error new_esEs0(Integer(Pos(Succ(vuz101000)))) -> False The set Q consists of the following terms: new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_esEs0(Integer(Neg(Succ(x0)))) new_esEs0(Integer(Pos(Succ(x0)))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_esEs0(Integer(Neg(Zero))) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(Zero, Succ(x0)) new_esEs0(Integer(Pos(Zero))) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_primModNatS01(x0, x1, Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_rem0(Integer(x0), Integer(x1)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primMinusNatS0(Zero, Zero) new_primModNatS02(x0, x1) new_primModNatS1(Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (717) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (718) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Integer(Pos(Succ(x1))), Integer(Neg(x0))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(x0, x1)))), Integer(Pos(Succ(x1))), Integer(Neg(x0))) new_gcd0Gcd'10(False, vuz97, vuz99) -> new_gcd0Gcd'00(vuz97, new_rem0(vuz99, vuz97)) new_gcd0Gcd'00(vuz97, vuz109) -> new_gcd0Gcd'(vuz109, vuz97) new_gcd0Gcd'(Integer(Neg(Succ(x1))), Integer(Neg(x0))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(x0, x1)))), Integer(Neg(Succ(x1))), Integer(Neg(x0))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(x0, x1, x0, x1)))), Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(x0, x1, x0, x1)))), Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) The TRS R consists of the following rules: new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error new_rem0(Integer(vuz990), Integer(vuz970)) -> Integer(new_primRemInt(vuz990, vuz970)) new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_esEs0(Integer(Neg(Zero))) -> True new_primModNatS1(Zero, vuz7400) -> Zero new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error new_error -> error([]) new_esEs0(Integer(Neg(Succ(vuz101000)))) -> False new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_esEs0(Integer(Pos(Zero))) -> True new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error new_esEs0(Integer(Pos(Succ(vuz101000)))) -> False The set Q consists of the following terms: new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_esEs0(Integer(Neg(Succ(x0)))) new_esEs0(Integer(Pos(Succ(x0)))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_esEs0(Integer(Neg(Zero))) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(Zero, Succ(x0)) new_esEs0(Integer(Pos(Zero))) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_primModNatS01(x0, x1, Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_rem0(Integer(x0), Integer(x1)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primMinusNatS0(Zero, Zero) new_primModNatS02(x0, x1) new_primModNatS1(Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (719) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_gcd0Gcd'(Integer(Pos(Succ(x1))), Integer(Neg(x0))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(x0, x1)))), Integer(Pos(Succ(x1))), Integer(Neg(x0))) at position [0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(Succ(Zero)))), Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))),new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(Succ(Zero)))), Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero))))) (new_gcd0Gcd'(Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(x0, x1, x0, x1)))), Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))),new_gcd0Gcd'(Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(x0, x1, x0, x1)))), Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0)))))) (new_gcd0Gcd'(Integer(Pos(Succ(x0))), Integer(Neg(Zero))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(Zero))), Integer(Pos(Succ(x0))), Integer(Neg(Zero))),new_gcd0Gcd'(Integer(Pos(Succ(x0))), Integer(Neg(Zero))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(Zero))), Integer(Pos(Succ(x0))), Integer(Neg(Zero)))) (new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Zero)))),new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Zero))))) (new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))),new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0)))))) ---------------------------------------- (720) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'10(False, vuz97, vuz99) -> new_gcd0Gcd'00(vuz97, new_rem0(vuz99, vuz97)) new_gcd0Gcd'00(vuz97, vuz109) -> new_gcd0Gcd'(vuz109, vuz97) new_gcd0Gcd'(Integer(Neg(Succ(x1))), Integer(Neg(x0))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(x0, x1)))), Integer(Neg(Succ(x1))), Integer(Neg(x0))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(x0, x1, x0, x1)))), Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(x0, x1, x0, x1)))), Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(Succ(Zero)))), Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(x0, x1, x0, x1)))), Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Pos(Succ(x0))), Integer(Neg(Zero))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(Zero))), Integer(Pos(Succ(x0))), Integer(Neg(Zero))) new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Zero)))) new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) The TRS R consists of the following rules: new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error new_rem0(Integer(vuz990), Integer(vuz970)) -> Integer(new_primRemInt(vuz990, vuz970)) new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_esEs0(Integer(Neg(Zero))) -> True new_primModNatS1(Zero, vuz7400) -> Zero new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error new_error -> error([]) new_esEs0(Integer(Neg(Succ(vuz101000)))) -> False new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_esEs0(Integer(Pos(Zero))) -> True new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error new_esEs0(Integer(Pos(Succ(vuz101000)))) -> False The set Q consists of the following terms: new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_esEs0(Integer(Neg(Succ(x0)))) new_esEs0(Integer(Pos(Succ(x0)))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_esEs0(Integer(Neg(Zero))) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(Zero, Succ(x0)) new_esEs0(Integer(Pos(Zero))) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_primModNatS01(x0, x1, Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_rem0(Integer(x0), Integer(x1)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primMinusNatS0(Zero, Zero) new_primModNatS02(x0, x1) new_primModNatS1(Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (721) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (722) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'00(vuz97, vuz109) -> new_gcd0Gcd'(vuz109, vuz97) new_gcd0Gcd'(Integer(Neg(Succ(x1))), Integer(Neg(x0))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(x0, x1)))), Integer(Neg(Succ(x1))), Integer(Neg(x0))) new_gcd0Gcd'10(False, vuz97, vuz99) -> new_gcd0Gcd'00(vuz97, new_rem0(vuz99, vuz97)) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(x0, x1, x0, x1)))), Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(x0, x1, x0, x1)))), Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(Succ(Zero)))), Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(x0, x1, x0, x1)))), Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Zero)))) new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) The TRS R consists of the following rules: new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error new_rem0(Integer(vuz990), Integer(vuz970)) -> Integer(new_primRemInt(vuz990, vuz970)) new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_esEs0(Integer(Neg(Zero))) -> True new_primModNatS1(Zero, vuz7400) -> Zero new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error new_error -> error([]) new_esEs0(Integer(Neg(Succ(vuz101000)))) -> False new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_esEs0(Integer(Pos(Zero))) -> True new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error new_esEs0(Integer(Pos(Succ(vuz101000)))) -> False The set Q consists of the following terms: new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_esEs0(Integer(Neg(Succ(x0)))) new_esEs0(Integer(Pos(Succ(x0)))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_esEs0(Integer(Neg(Zero))) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(Zero, Succ(x0)) new_esEs0(Integer(Pos(Zero))) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_primModNatS01(x0, x1, Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_rem0(Integer(x0), Integer(x1)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primMinusNatS0(Zero, Zero) new_primModNatS02(x0, x1) new_primModNatS1(Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (723) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(Succ(Zero)))), Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) at position [0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))),new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero))))) ---------------------------------------- (724) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'00(vuz97, vuz109) -> new_gcd0Gcd'(vuz109, vuz97) new_gcd0Gcd'(Integer(Neg(Succ(x1))), Integer(Neg(x0))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(x0, x1)))), Integer(Neg(Succ(x1))), Integer(Neg(x0))) new_gcd0Gcd'10(False, vuz97, vuz99) -> new_gcd0Gcd'00(vuz97, new_rem0(vuz99, vuz97)) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(x0, x1, x0, x1)))), Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(x0, x1, x0, x1)))), Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(x0, x1, x0, x1)))), Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Zero)))) new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error new_rem0(Integer(vuz990), Integer(vuz970)) -> Integer(new_primRemInt(vuz990, vuz970)) new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_esEs0(Integer(Neg(Zero))) -> True new_primModNatS1(Zero, vuz7400) -> Zero new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error new_error -> error([]) new_esEs0(Integer(Neg(Succ(vuz101000)))) -> False new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_esEs0(Integer(Pos(Zero))) -> True new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error new_esEs0(Integer(Pos(Succ(vuz101000)))) -> False The set Q consists of the following terms: new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_esEs0(Integer(Neg(Succ(x0)))) new_esEs0(Integer(Pos(Succ(x0)))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_esEs0(Integer(Neg(Zero))) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(Zero, Succ(x0)) new_esEs0(Integer(Pos(Zero))) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_primModNatS01(x0, x1, Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_rem0(Integer(x0), Integer(x1)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primMinusNatS0(Zero, Zero) new_primModNatS02(x0, x1) new_primModNatS1(Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (725) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Zero)))) at position [0,0,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Zero, Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Zero)))),new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Zero, Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Zero))))) ---------------------------------------- (726) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'00(vuz97, vuz109) -> new_gcd0Gcd'(vuz109, vuz97) new_gcd0Gcd'(Integer(Neg(Succ(x1))), Integer(Neg(x0))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(x0, x1)))), Integer(Neg(Succ(x1))), Integer(Neg(x0))) new_gcd0Gcd'10(False, vuz97, vuz99) -> new_gcd0Gcd'00(vuz97, new_rem0(vuz99, vuz97)) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(x0, x1, x0, x1)))), Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(x0, x1, x0, x1)))), Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(x0, x1, x0, x1)))), Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Zero, Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error new_rem0(Integer(vuz990), Integer(vuz970)) -> Integer(new_primRemInt(vuz990, vuz970)) new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_esEs0(Integer(Neg(Zero))) -> True new_primModNatS1(Zero, vuz7400) -> Zero new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error new_error -> error([]) new_esEs0(Integer(Neg(Succ(vuz101000)))) -> False new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_esEs0(Integer(Pos(Zero))) -> True new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error new_esEs0(Integer(Pos(Succ(vuz101000)))) -> False The set Q consists of the following terms: new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_esEs0(Integer(Neg(Succ(x0)))) new_esEs0(Integer(Pos(Succ(x0)))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_esEs0(Integer(Neg(Zero))) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(Zero, Succ(x0)) new_esEs0(Integer(Pos(Zero))) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_primModNatS01(x0, x1, Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_rem0(Integer(x0), Integer(x1)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primMinusNatS0(Zero, Zero) new_primModNatS02(x0, x1) new_primModNatS1(Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (727) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) at position [0,0,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))),new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0)))))) ---------------------------------------- (728) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'00(vuz97, vuz109) -> new_gcd0Gcd'(vuz109, vuz97) new_gcd0Gcd'(Integer(Neg(Succ(x1))), Integer(Neg(x0))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(x0, x1)))), Integer(Neg(Succ(x1))), Integer(Neg(x0))) new_gcd0Gcd'10(False, vuz97, vuz99) -> new_gcd0Gcd'00(vuz97, new_rem0(vuz99, vuz97)) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(x0, x1, x0, x1)))), Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(x0, x1, x0, x1)))), Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(x0, x1, x0, x1)))), Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Zero, Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Zero)))) new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) The TRS R consists of the following rules: new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error new_rem0(Integer(vuz990), Integer(vuz970)) -> Integer(new_primRemInt(vuz990, vuz970)) new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_esEs0(Integer(Neg(Zero))) -> True new_primModNatS1(Zero, vuz7400) -> Zero new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error new_error -> error([]) new_esEs0(Integer(Neg(Succ(vuz101000)))) -> False new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_esEs0(Integer(Pos(Zero))) -> True new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error new_esEs0(Integer(Pos(Succ(vuz101000)))) -> False The set Q consists of the following terms: new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_esEs0(Integer(Neg(Succ(x0)))) new_esEs0(Integer(Pos(Succ(x0)))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_esEs0(Integer(Neg(Zero))) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(Zero, Succ(x0)) new_esEs0(Integer(Pos(Zero))) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_primModNatS01(x0, x1, Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_rem0(Integer(x0), Integer(x1)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primMinusNatS0(Zero, Zero) new_primModNatS02(x0, x1) new_primModNatS1(Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (729) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Zero, Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Zero)))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(Zero))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Zero)))),new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(Zero))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Zero))))) ---------------------------------------- (730) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'00(vuz97, vuz109) -> new_gcd0Gcd'(vuz109, vuz97) new_gcd0Gcd'(Integer(Neg(Succ(x1))), Integer(Neg(x0))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(x0, x1)))), Integer(Neg(Succ(x1))), Integer(Neg(x0))) new_gcd0Gcd'10(False, vuz97, vuz99) -> new_gcd0Gcd'00(vuz97, new_rem0(vuz99, vuz97)) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(x0, x1, x0, x1)))), Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(x0, x1, x0, x1)))), Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(x0, x1, x0, x1)))), Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(Zero))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error new_rem0(Integer(vuz990), Integer(vuz970)) -> Integer(new_primRemInt(vuz990, vuz970)) new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_esEs0(Integer(Neg(Zero))) -> True new_primModNatS1(Zero, vuz7400) -> Zero new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error new_error -> error([]) new_esEs0(Integer(Neg(Succ(vuz101000)))) -> False new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_esEs0(Integer(Pos(Zero))) -> True new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error new_esEs0(Integer(Pos(Succ(vuz101000)))) -> False The set Q consists of the following terms: new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_esEs0(Integer(Neg(Succ(x0)))) new_esEs0(Integer(Pos(Succ(x0)))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_esEs0(Integer(Neg(Zero))) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(Zero, Succ(x0)) new_esEs0(Integer(Pos(Zero))) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_primModNatS01(x0, x1, Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_rem0(Integer(x0), Integer(x1)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primMinusNatS0(Zero, Zero) new_primModNatS02(x0, x1) new_primModNatS1(Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (731) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (732) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Integer(Neg(Succ(x1))), Integer(Neg(x0))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(x0, x1)))), Integer(Neg(Succ(x1))), Integer(Neg(x0))) new_gcd0Gcd'10(False, vuz97, vuz99) -> new_gcd0Gcd'00(vuz97, new_rem0(vuz99, vuz97)) new_gcd0Gcd'00(vuz97, vuz109) -> new_gcd0Gcd'(vuz109, vuz97) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(x0, x1, x0, x1)))), Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(x0, x1, x0, x1)))), Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(x0, x1, x0, x1)))), Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) The TRS R consists of the following rules: new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error new_rem0(Integer(vuz990), Integer(vuz970)) -> Integer(new_primRemInt(vuz990, vuz970)) new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_esEs0(Integer(Neg(Zero))) -> True new_primModNatS1(Zero, vuz7400) -> Zero new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error new_error -> error([]) new_esEs0(Integer(Neg(Succ(vuz101000)))) -> False new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_esEs0(Integer(Pos(Zero))) -> True new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error new_esEs0(Integer(Pos(Succ(vuz101000)))) -> False The set Q consists of the following terms: new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_esEs0(Integer(Neg(Succ(x0)))) new_esEs0(Integer(Pos(Succ(x0)))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_esEs0(Integer(Neg(Zero))) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(Zero, Succ(x0)) new_esEs0(Integer(Pos(Zero))) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_primModNatS01(x0, x1, Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_rem0(Integer(x0), Integer(x1)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primMinusNatS0(Zero, Zero) new_primModNatS02(x0, x1) new_primModNatS1(Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (733) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_gcd0Gcd'(Integer(Neg(Succ(x1))), Integer(Neg(x0))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(x0, x1)))), Integer(Neg(Succ(x1))), Integer(Neg(x0))) at position [0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(Succ(Zero)))), Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))),new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(Succ(Zero)))), Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero))))) (new_gcd0Gcd'(Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(x0, x1, x0, x1)))), Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))),new_gcd0Gcd'(Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(x0, x1, x0, x1)))), Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0)))))) (new_gcd0Gcd'(Integer(Neg(Succ(x0))), Integer(Neg(Zero))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(Zero))), Integer(Neg(Succ(x0))), Integer(Neg(Zero))),new_gcd0Gcd'(Integer(Neg(Succ(x0))), Integer(Neg(Zero))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(Zero))), Integer(Neg(Succ(x0))), Integer(Neg(Zero)))) (new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero)))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Zero)))),new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero)))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Zero))))) (new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero)))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))),new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero)))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0)))))) ---------------------------------------- (734) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'10(False, vuz97, vuz99) -> new_gcd0Gcd'00(vuz97, new_rem0(vuz99, vuz97)) new_gcd0Gcd'00(vuz97, vuz109) -> new_gcd0Gcd'(vuz109, vuz97) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(x0, x1, x0, x1)))), Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(x0, x1, x0, x1)))), Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(x0, x1, x0, x1)))), Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(Succ(Zero)))), Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(x0, x1, x0, x1)))), Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Neg(Succ(x0))), Integer(Neg(Zero))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(Zero))), Integer(Neg(Succ(x0))), Integer(Neg(Zero))) new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero)))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Zero)))) new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero)))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) The TRS R consists of the following rules: new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error new_rem0(Integer(vuz990), Integer(vuz970)) -> Integer(new_primRemInt(vuz990, vuz970)) new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_esEs0(Integer(Neg(Zero))) -> True new_primModNatS1(Zero, vuz7400) -> Zero new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error new_error -> error([]) new_esEs0(Integer(Neg(Succ(vuz101000)))) -> False new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_esEs0(Integer(Pos(Zero))) -> True new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error new_esEs0(Integer(Pos(Succ(vuz101000)))) -> False The set Q consists of the following terms: new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_esEs0(Integer(Neg(Succ(x0)))) new_esEs0(Integer(Pos(Succ(x0)))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_esEs0(Integer(Neg(Zero))) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(Zero, Succ(x0)) new_esEs0(Integer(Pos(Zero))) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_primModNatS01(x0, x1, Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_rem0(Integer(x0), Integer(x1)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primMinusNatS0(Zero, Zero) new_primModNatS02(x0, x1) new_primModNatS1(Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (735) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (736) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'00(vuz97, vuz109) -> new_gcd0Gcd'(vuz109, vuz97) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(x0, x1, x0, x1)))), Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) new_gcd0Gcd'10(False, vuz97, vuz99) -> new_gcd0Gcd'00(vuz97, new_rem0(vuz99, vuz97)) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(x0, x1, x0, x1)))), Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(x0, x1, x0, x1)))), Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(Succ(Zero)))), Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(x0, x1, x0, x1)))), Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero)))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Zero)))) new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero)))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) The TRS R consists of the following rules: new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error new_rem0(Integer(vuz990), Integer(vuz970)) -> Integer(new_primRemInt(vuz990, vuz970)) new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_esEs0(Integer(Neg(Zero))) -> True new_primModNatS1(Zero, vuz7400) -> Zero new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error new_error -> error([]) new_esEs0(Integer(Neg(Succ(vuz101000)))) -> False new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_esEs0(Integer(Pos(Zero))) -> True new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error new_esEs0(Integer(Pos(Succ(vuz101000)))) -> False The set Q consists of the following terms: new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_esEs0(Integer(Neg(Succ(x0)))) new_esEs0(Integer(Pos(Succ(x0)))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_esEs0(Integer(Neg(Zero))) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(Zero, Succ(x0)) new_esEs0(Integer(Pos(Zero))) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_primModNatS01(x0, x1, Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_rem0(Integer(x0), Integer(x1)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primMinusNatS0(Zero, Zero) new_primModNatS02(x0, x1) new_primModNatS1(Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (737) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(Succ(Zero)))), Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) at position [0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))),new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero))))) ---------------------------------------- (738) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'00(vuz97, vuz109) -> new_gcd0Gcd'(vuz109, vuz97) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(x0, x1, x0, x1)))), Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) new_gcd0Gcd'10(False, vuz97, vuz99) -> new_gcd0Gcd'00(vuz97, new_rem0(vuz99, vuz97)) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(x0, x1, x0, x1)))), Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(x0, x1, x0, x1)))), Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(x0, x1, x0, x1)))), Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero)))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Zero)))) new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero)))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error new_rem0(Integer(vuz990), Integer(vuz970)) -> Integer(new_primRemInt(vuz990, vuz970)) new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_esEs0(Integer(Neg(Zero))) -> True new_primModNatS1(Zero, vuz7400) -> Zero new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error new_error -> error([]) new_esEs0(Integer(Neg(Succ(vuz101000)))) -> False new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_esEs0(Integer(Pos(Zero))) -> True new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error new_esEs0(Integer(Pos(Succ(vuz101000)))) -> False The set Q consists of the following terms: new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_esEs0(Integer(Neg(Succ(x0)))) new_esEs0(Integer(Pos(Succ(x0)))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_esEs0(Integer(Neg(Zero))) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(Zero, Succ(x0)) new_esEs0(Integer(Pos(Zero))) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_primModNatS01(x0, x1, Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_rem0(Integer(x0), Integer(x1)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primMinusNatS0(Zero, Zero) new_primModNatS02(x0, x1) new_primModNatS1(Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (739) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero)))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Zero)))) at position [0,0,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Zero, Zero)))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Zero)))),new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Zero, Zero)))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Zero))))) ---------------------------------------- (740) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'00(vuz97, vuz109) -> new_gcd0Gcd'(vuz109, vuz97) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(x0, x1, x0, x1)))), Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) new_gcd0Gcd'10(False, vuz97, vuz99) -> new_gcd0Gcd'00(vuz97, new_rem0(vuz99, vuz97)) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(x0, x1, x0, x1)))), Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(x0, x1, x0, x1)))), Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(x0, x1, x0, x1)))), Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero)))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Zero, Zero)))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error new_rem0(Integer(vuz990), Integer(vuz970)) -> Integer(new_primRemInt(vuz990, vuz970)) new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_esEs0(Integer(Neg(Zero))) -> True new_primModNatS1(Zero, vuz7400) -> Zero new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error new_error -> error([]) new_esEs0(Integer(Neg(Succ(vuz101000)))) -> False new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_esEs0(Integer(Pos(Zero))) -> True new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error new_esEs0(Integer(Pos(Succ(vuz101000)))) -> False The set Q consists of the following terms: new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_esEs0(Integer(Neg(Succ(x0)))) new_esEs0(Integer(Pos(Succ(x0)))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_esEs0(Integer(Neg(Zero))) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(Zero, Succ(x0)) new_esEs0(Integer(Pos(Zero))) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_primModNatS01(x0, x1, Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_rem0(Integer(x0), Integer(x1)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primMinusNatS0(Zero, Zero) new_primModNatS02(x0, x1) new_primModNatS1(Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (741) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero)))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) at position [0,0,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))),new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0)))))) ---------------------------------------- (742) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'00(vuz97, vuz109) -> new_gcd0Gcd'(vuz109, vuz97) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(x0, x1, x0, x1)))), Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) new_gcd0Gcd'10(False, vuz97, vuz99) -> new_gcd0Gcd'00(vuz97, new_rem0(vuz99, vuz97)) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(x0, x1, x0, x1)))), Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(x0, x1, x0, x1)))), Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(x0, x1, x0, x1)))), Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Zero, Zero)))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Zero)))) new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) The TRS R consists of the following rules: new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error new_rem0(Integer(vuz990), Integer(vuz970)) -> Integer(new_primRemInt(vuz990, vuz970)) new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_esEs0(Integer(Neg(Zero))) -> True new_primModNatS1(Zero, vuz7400) -> Zero new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error new_error -> error([]) new_esEs0(Integer(Neg(Succ(vuz101000)))) -> False new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_esEs0(Integer(Pos(Zero))) -> True new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error new_esEs0(Integer(Pos(Succ(vuz101000)))) -> False The set Q consists of the following terms: new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_esEs0(Integer(Neg(Succ(x0)))) new_esEs0(Integer(Pos(Succ(x0)))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_esEs0(Integer(Neg(Zero))) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(Zero, Succ(x0)) new_esEs0(Integer(Pos(Zero))) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_primModNatS01(x0, x1, Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_rem0(Integer(x0), Integer(x1)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primMinusNatS0(Zero, Zero) new_primModNatS02(x0, x1) new_primModNatS1(Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (743) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Zero, Zero)))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Zero)))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(Zero))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Zero)))),new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(Zero))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Zero))))) ---------------------------------------- (744) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'00(vuz97, vuz109) -> new_gcd0Gcd'(vuz109, vuz97) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(x0, x1, x0, x1)))), Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) new_gcd0Gcd'10(False, vuz97, vuz99) -> new_gcd0Gcd'00(vuz97, new_rem0(vuz99, vuz97)) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(x0, x1, x0, x1)))), Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(x0, x1, x0, x1)))), Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(x0, x1, x0, x1)))), Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(Zero))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error new_rem0(Integer(vuz990), Integer(vuz970)) -> Integer(new_primRemInt(vuz990, vuz970)) new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_esEs0(Integer(Neg(Zero))) -> True new_primModNatS1(Zero, vuz7400) -> Zero new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error new_error -> error([]) new_esEs0(Integer(Neg(Succ(vuz101000)))) -> False new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_esEs0(Integer(Pos(Zero))) -> True new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error new_esEs0(Integer(Pos(Succ(vuz101000)))) -> False The set Q consists of the following terms: new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_esEs0(Integer(Neg(Succ(x0)))) new_esEs0(Integer(Pos(Succ(x0)))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_esEs0(Integer(Neg(Zero))) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(Zero, Succ(x0)) new_esEs0(Integer(Pos(Zero))) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_primModNatS01(x0, x1, Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_rem0(Integer(x0), Integer(x1)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primMinusNatS0(Zero, Zero) new_primModNatS02(x0, x1) new_primModNatS1(Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (745) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (746) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(x0, x1, x0, x1)))), Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) new_gcd0Gcd'10(False, vuz97, vuz99) -> new_gcd0Gcd'00(vuz97, new_rem0(vuz99, vuz97)) new_gcd0Gcd'00(vuz97, vuz109) -> new_gcd0Gcd'(vuz109, vuz97) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(x0, x1, x0, x1)))), Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(x0, x1, x0, x1)))), Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(x0, x1, x0, x1)))), Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) The TRS R consists of the following rules: new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error new_rem0(Integer(vuz990), Integer(vuz970)) -> Integer(new_primRemInt(vuz990, vuz970)) new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_esEs0(Integer(Neg(Zero))) -> True new_primModNatS1(Zero, vuz7400) -> Zero new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error new_error -> error([]) new_esEs0(Integer(Neg(Succ(vuz101000)))) -> False new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_esEs0(Integer(Pos(Zero))) -> True new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error new_esEs0(Integer(Pos(Succ(vuz101000)))) -> False The set Q consists of the following terms: new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_esEs0(Integer(Neg(Succ(x0)))) new_esEs0(Integer(Pos(Succ(x0)))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_esEs0(Integer(Neg(Zero))) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(Zero, Succ(x0)) new_esEs0(Integer(Pos(Zero))) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_primModNatS01(x0, x1, Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_rem0(Integer(x0), Integer(x1)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primMinusNatS0(Zero, Zero) new_primModNatS02(x0, x1) new_primModNatS1(Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (747) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_gcd0Gcd'(Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(x0, x1, x0, x1)))), Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) at position [0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))),new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2))))))) (new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(Succ(Succ(Zero))))), Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))),new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(Succ(Succ(Zero))))), Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero)))))) (new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS02(Zero, Zero)))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))),new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS02(Zero, Zero)))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero)))))) (new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS02(Succ(x2), Zero)))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))),new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS02(Succ(x2), Zero)))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2))))))) ---------------------------------------- (748) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'10(False, vuz97, vuz99) -> new_gcd0Gcd'00(vuz97, new_rem0(vuz99, vuz97)) new_gcd0Gcd'00(vuz97, vuz109) -> new_gcd0Gcd'(vuz109, vuz97) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(x0, x1, x0, x1)))), Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(x0, x1, x0, x1)))), Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(x0, x1, x0, x1)))), Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(Succ(Succ(Zero))))), Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS02(Zero, Zero)))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS02(Succ(x2), Zero)))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) The TRS R consists of the following rules: new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error new_rem0(Integer(vuz990), Integer(vuz970)) -> Integer(new_primRemInt(vuz990, vuz970)) new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_esEs0(Integer(Neg(Zero))) -> True new_primModNatS1(Zero, vuz7400) -> Zero new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error new_error -> error([]) new_esEs0(Integer(Neg(Succ(vuz101000)))) -> False new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_esEs0(Integer(Pos(Zero))) -> True new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error new_esEs0(Integer(Pos(Succ(vuz101000)))) -> False The set Q consists of the following terms: new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_esEs0(Integer(Neg(Succ(x0)))) new_esEs0(Integer(Pos(Succ(x0)))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_esEs0(Integer(Neg(Zero))) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(Zero, Succ(x0)) new_esEs0(Integer(Pos(Zero))) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_primModNatS01(x0, x1, Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_rem0(Integer(x0), Integer(x1)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primMinusNatS0(Zero, Zero) new_primModNatS02(x0, x1) new_primModNatS1(Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (749) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(Succ(Succ(Zero))))), Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) at position [0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))),new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero)))))) ---------------------------------------- (750) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'10(False, vuz97, vuz99) -> new_gcd0Gcd'00(vuz97, new_rem0(vuz99, vuz97)) new_gcd0Gcd'00(vuz97, vuz109) -> new_gcd0Gcd'(vuz109, vuz97) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(x0, x1, x0, x1)))), Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(x0, x1, x0, x1)))), Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(x0, x1, x0, x1)))), Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS02(Zero, Zero)))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS02(Succ(x2), Zero)))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error new_rem0(Integer(vuz990), Integer(vuz970)) -> Integer(new_primRemInt(vuz990, vuz970)) new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_esEs0(Integer(Neg(Zero))) -> True new_primModNatS1(Zero, vuz7400) -> Zero new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error new_error -> error([]) new_esEs0(Integer(Neg(Succ(vuz101000)))) -> False new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_esEs0(Integer(Pos(Zero))) -> True new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error new_esEs0(Integer(Pos(Succ(vuz101000)))) -> False The set Q consists of the following terms: new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_esEs0(Integer(Neg(Succ(x0)))) new_esEs0(Integer(Pos(Succ(x0)))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_esEs0(Integer(Neg(Zero))) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(Zero, Succ(x0)) new_esEs0(Integer(Pos(Zero))) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_primModNatS01(x0, x1, Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_rem0(Integer(x0), Integer(x1)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primMinusNatS0(Zero, Zero) new_primModNatS02(x0, x1) new_primModNatS1(Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (751) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS02(Zero, Zero)))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(new_primMinusNatS0(Succ(Zero), Succ(Zero)), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))),new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(new_primMinusNatS0(Succ(Zero), Succ(Zero)), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero)))))) ---------------------------------------- (752) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'10(False, vuz97, vuz99) -> new_gcd0Gcd'00(vuz97, new_rem0(vuz99, vuz97)) new_gcd0Gcd'00(vuz97, vuz109) -> new_gcd0Gcd'(vuz109, vuz97) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(x0, x1, x0, x1)))), Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(x0, x1, x0, x1)))), Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(x0, x1, x0, x1)))), Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS02(Succ(x2), Zero)))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(new_primMinusNatS0(Succ(Zero), Succ(Zero)), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error new_rem0(Integer(vuz990), Integer(vuz970)) -> Integer(new_primRemInt(vuz990, vuz970)) new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_esEs0(Integer(Neg(Zero))) -> True new_primModNatS1(Zero, vuz7400) -> Zero new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error new_error -> error([]) new_esEs0(Integer(Neg(Succ(vuz101000)))) -> False new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_esEs0(Integer(Pos(Zero))) -> True new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error new_esEs0(Integer(Pos(Succ(vuz101000)))) -> False The set Q consists of the following terms: new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_esEs0(Integer(Neg(Succ(x0)))) new_esEs0(Integer(Pos(Succ(x0)))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_esEs0(Integer(Neg(Zero))) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(Zero, Succ(x0)) new_esEs0(Integer(Pos(Zero))) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_primModNatS01(x0, x1, Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_rem0(Integer(x0), Integer(x1)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primMinusNatS0(Zero, Zero) new_primModNatS02(x0, x1) new_primModNatS1(Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (753) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS02(Succ(x2), Zero)))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(new_primMinusNatS0(Succ(Succ(x2)), Succ(Zero)), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))),new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(new_primMinusNatS0(Succ(Succ(x2)), Succ(Zero)), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2))))))) ---------------------------------------- (754) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'10(False, vuz97, vuz99) -> new_gcd0Gcd'00(vuz97, new_rem0(vuz99, vuz97)) new_gcd0Gcd'00(vuz97, vuz109) -> new_gcd0Gcd'(vuz109, vuz97) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(x0, x1, x0, x1)))), Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(x0, x1, x0, x1)))), Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(x0, x1, x0, x1)))), Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(new_primMinusNatS0(Succ(Zero), Succ(Zero)), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(new_primMinusNatS0(Succ(Succ(x2)), Succ(Zero)), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) The TRS R consists of the following rules: new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error new_rem0(Integer(vuz990), Integer(vuz970)) -> Integer(new_primRemInt(vuz990, vuz970)) new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_esEs0(Integer(Neg(Zero))) -> True new_primModNatS1(Zero, vuz7400) -> Zero new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error new_error -> error([]) new_esEs0(Integer(Neg(Succ(vuz101000)))) -> False new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_esEs0(Integer(Pos(Zero))) -> True new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error new_esEs0(Integer(Pos(Succ(vuz101000)))) -> False The set Q consists of the following terms: new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_esEs0(Integer(Neg(Succ(x0)))) new_esEs0(Integer(Pos(Succ(x0)))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_esEs0(Integer(Neg(Zero))) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(Zero, Succ(x0)) new_esEs0(Integer(Pos(Zero))) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_primModNatS01(x0, x1, Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_rem0(Integer(x0), Integer(x1)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primMinusNatS0(Zero, Zero) new_primModNatS02(x0, x1) new_primModNatS1(Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (755) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(new_primMinusNatS0(Succ(Zero), Succ(Zero)), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) at position [0,0,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))),new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero)))))) ---------------------------------------- (756) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'10(False, vuz97, vuz99) -> new_gcd0Gcd'00(vuz97, new_rem0(vuz99, vuz97)) new_gcd0Gcd'00(vuz97, vuz109) -> new_gcd0Gcd'(vuz109, vuz97) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(x0, x1, x0, x1)))), Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(x0, x1, x0, x1)))), Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(x0, x1, x0, x1)))), Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(new_primMinusNatS0(Succ(Succ(x2)), Succ(Zero)), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error new_rem0(Integer(vuz990), Integer(vuz970)) -> Integer(new_primRemInt(vuz990, vuz970)) new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_esEs0(Integer(Neg(Zero))) -> True new_primModNatS1(Zero, vuz7400) -> Zero new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error new_error -> error([]) new_esEs0(Integer(Neg(Succ(vuz101000)))) -> False new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_esEs0(Integer(Pos(Zero))) -> True new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error new_esEs0(Integer(Pos(Succ(vuz101000)))) -> False The set Q consists of the following terms: new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_esEs0(Integer(Neg(Succ(x0)))) new_esEs0(Integer(Pos(Succ(x0)))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_esEs0(Integer(Neg(Zero))) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(Zero, Succ(x0)) new_esEs0(Integer(Pos(Zero))) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_primModNatS01(x0, x1, Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_rem0(Integer(x0), Integer(x1)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primMinusNatS0(Zero, Zero) new_primModNatS02(x0, x1) new_primModNatS1(Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (757) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(new_primMinusNatS0(Succ(Succ(x2)), Succ(Zero)), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) at position [0,0,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(new_primMinusNatS0(Succ(x2), Zero), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))),new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(new_primMinusNatS0(Succ(x2), Zero), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2))))))) ---------------------------------------- (758) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'10(False, vuz97, vuz99) -> new_gcd0Gcd'00(vuz97, new_rem0(vuz99, vuz97)) new_gcd0Gcd'00(vuz97, vuz109) -> new_gcd0Gcd'(vuz109, vuz97) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(x0, x1, x0, x1)))), Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(x0, x1, x0, x1)))), Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(x0, x1, x0, x1)))), Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(new_primMinusNatS0(Succ(x2), Zero), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) The TRS R consists of the following rules: new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error new_rem0(Integer(vuz990), Integer(vuz970)) -> Integer(new_primRemInt(vuz990, vuz970)) new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_esEs0(Integer(Neg(Zero))) -> True new_primModNatS1(Zero, vuz7400) -> Zero new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error new_error -> error([]) new_esEs0(Integer(Neg(Succ(vuz101000)))) -> False new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_esEs0(Integer(Pos(Zero))) -> True new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error new_esEs0(Integer(Pos(Succ(vuz101000)))) -> False The set Q consists of the following terms: new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_esEs0(Integer(Neg(Succ(x0)))) new_esEs0(Integer(Pos(Succ(x0)))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_esEs0(Integer(Neg(Zero))) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(Zero, Succ(x0)) new_esEs0(Integer(Pos(Zero))) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_primModNatS01(x0, x1, Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_rem0(Integer(x0), Integer(x1)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primMinusNatS0(Zero, Zero) new_primModNatS02(x0, x1) new_primModNatS1(Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (759) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) at position [0,0,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Zero, Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))),new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Zero, Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero)))))) ---------------------------------------- (760) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'10(False, vuz97, vuz99) -> new_gcd0Gcd'00(vuz97, new_rem0(vuz99, vuz97)) new_gcd0Gcd'00(vuz97, vuz109) -> new_gcd0Gcd'(vuz109, vuz97) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(x0, x1, x0, x1)))), Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(x0, x1, x0, x1)))), Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(x0, x1, x0, x1)))), Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(new_primMinusNatS0(Succ(x2), Zero), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Zero, Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error new_rem0(Integer(vuz990), Integer(vuz970)) -> Integer(new_primRemInt(vuz990, vuz970)) new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_esEs0(Integer(Neg(Zero))) -> True new_primModNatS1(Zero, vuz7400) -> Zero new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error new_error -> error([]) new_esEs0(Integer(Neg(Succ(vuz101000)))) -> False new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_esEs0(Integer(Pos(Zero))) -> True new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error new_esEs0(Integer(Pos(Succ(vuz101000)))) -> False The set Q consists of the following terms: new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_esEs0(Integer(Neg(Succ(x0)))) new_esEs0(Integer(Pos(Succ(x0)))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_esEs0(Integer(Neg(Zero))) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(Zero, Succ(x0)) new_esEs0(Integer(Pos(Zero))) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_primModNatS01(x0, x1, Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_rem0(Integer(x0), Integer(x1)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primMinusNatS0(Zero, Zero) new_primModNatS02(x0, x1) new_primModNatS1(Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (761) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(new_primMinusNatS0(Succ(x2), Zero), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) at position [0,0,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))),new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2))))))) ---------------------------------------- (762) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'10(False, vuz97, vuz99) -> new_gcd0Gcd'00(vuz97, new_rem0(vuz99, vuz97)) new_gcd0Gcd'00(vuz97, vuz109) -> new_gcd0Gcd'(vuz109, vuz97) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(x0, x1, x0, x1)))), Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(x0, x1, x0, x1)))), Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(x0, x1, x0, x1)))), Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Zero, Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) The TRS R consists of the following rules: new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error new_rem0(Integer(vuz990), Integer(vuz970)) -> Integer(new_primRemInt(vuz990, vuz970)) new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_esEs0(Integer(Neg(Zero))) -> True new_primModNatS1(Zero, vuz7400) -> Zero new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error new_error -> error([]) new_esEs0(Integer(Neg(Succ(vuz101000)))) -> False new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_esEs0(Integer(Pos(Zero))) -> True new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error new_esEs0(Integer(Pos(Succ(vuz101000)))) -> False The set Q consists of the following terms: new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_esEs0(Integer(Neg(Succ(x0)))) new_esEs0(Integer(Pos(Succ(x0)))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_esEs0(Integer(Neg(Zero))) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(Zero, Succ(x0)) new_esEs0(Integer(Pos(Zero))) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_primModNatS01(x0, x1, Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_rem0(Integer(x0), Integer(x1)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primMinusNatS0(Zero, Zero) new_primModNatS02(x0, x1) new_primModNatS1(Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (763) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Zero, Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(Zero))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))),new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(Zero))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero)))))) ---------------------------------------- (764) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'10(False, vuz97, vuz99) -> new_gcd0Gcd'00(vuz97, new_rem0(vuz99, vuz97)) new_gcd0Gcd'00(vuz97, vuz109) -> new_gcd0Gcd'(vuz109, vuz97) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(x0, x1, x0, x1)))), Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(x0, x1, x0, x1)))), Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(x0, x1, x0, x1)))), Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(Zero))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error new_rem0(Integer(vuz990), Integer(vuz970)) -> Integer(new_primRemInt(vuz990, vuz970)) new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_esEs0(Integer(Neg(Zero))) -> True new_primModNatS1(Zero, vuz7400) -> Zero new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error new_error -> error([]) new_esEs0(Integer(Neg(Succ(vuz101000)))) -> False new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_esEs0(Integer(Pos(Zero))) -> True new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error new_esEs0(Integer(Pos(Succ(vuz101000)))) -> False The set Q consists of the following terms: new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_esEs0(Integer(Neg(Succ(x0)))) new_esEs0(Integer(Pos(Succ(x0)))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_esEs0(Integer(Neg(Zero))) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(Zero, Succ(x0)) new_esEs0(Integer(Pos(Zero))) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_primModNatS01(x0, x1, Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_rem0(Integer(x0), Integer(x1)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primMinusNatS0(Zero, Zero) new_primModNatS02(x0, x1) new_primModNatS1(Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (765) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (766) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'00(vuz97, vuz109) -> new_gcd0Gcd'(vuz109, vuz97) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'10(False, vuz97, vuz99) -> new_gcd0Gcd'00(vuz97, new_rem0(vuz99, vuz97)) new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(x0, x1, x0, x1)))), Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(x0, x1, x0, x1)))), Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(x0, x1, x0, x1)))), Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) The TRS R consists of the following rules: new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error new_rem0(Integer(vuz990), Integer(vuz970)) -> Integer(new_primRemInt(vuz990, vuz970)) new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_esEs0(Integer(Neg(Zero))) -> True new_primModNatS1(Zero, vuz7400) -> Zero new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error new_error -> error([]) new_esEs0(Integer(Neg(Succ(vuz101000)))) -> False new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_esEs0(Integer(Pos(Zero))) -> True new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error new_esEs0(Integer(Pos(Succ(vuz101000)))) -> False The set Q consists of the following terms: new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_esEs0(Integer(Neg(Succ(x0)))) new_esEs0(Integer(Pos(Succ(x0)))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_esEs0(Integer(Neg(Zero))) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(Zero, Succ(x0)) new_esEs0(Integer(Pos(Zero))) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_primModNatS01(x0, x1, Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_rem0(Integer(x0), Integer(x1)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primMinusNatS0(Zero, Zero) new_primModNatS02(x0, x1) new_primModNatS1(Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (767) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) at position [0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Zero))))),new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Zero)))))) (new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))),new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0))))))) ---------------------------------------- (768) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'00(vuz97, vuz109) -> new_gcd0Gcd'(vuz109, vuz97) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'10(False, vuz97, vuz99) -> new_gcd0Gcd'00(vuz97, new_rem0(vuz99, vuz97)) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(x0, x1, x0, x1)))), Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(x0, x1, x0, x1)))), Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(x0, x1, x0, x1)))), Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Zero))))) new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) The TRS R consists of the following rules: new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error new_rem0(Integer(vuz990), Integer(vuz970)) -> Integer(new_primRemInt(vuz990, vuz970)) new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_esEs0(Integer(Neg(Zero))) -> True new_primModNatS1(Zero, vuz7400) -> Zero new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error new_error -> error([]) new_esEs0(Integer(Neg(Succ(vuz101000)))) -> False new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_esEs0(Integer(Pos(Zero))) -> True new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error new_esEs0(Integer(Pos(Succ(vuz101000)))) -> False The set Q consists of the following terms: new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_esEs0(Integer(Neg(Succ(x0)))) new_esEs0(Integer(Pos(Succ(x0)))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_esEs0(Integer(Neg(Zero))) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(Zero, Succ(x0)) new_esEs0(Integer(Pos(Zero))) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_primModNatS01(x0, x1, Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_rem0(Integer(x0), Integer(x1)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primMinusNatS0(Zero, Zero) new_primModNatS02(x0, x1) new_primModNatS1(Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (769) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Zero))))) at position [0,0,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Zero, Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Zero))))),new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Zero, Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Zero)))))) ---------------------------------------- (770) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'00(vuz97, vuz109) -> new_gcd0Gcd'(vuz109, vuz97) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'10(False, vuz97, vuz99) -> new_gcd0Gcd'00(vuz97, new_rem0(vuz99, vuz97)) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(x0, x1, x0, x1)))), Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(x0, x1, x0, x1)))), Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(x0, x1, x0, x1)))), Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Zero, Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error new_rem0(Integer(vuz990), Integer(vuz970)) -> Integer(new_primRemInt(vuz990, vuz970)) new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_esEs0(Integer(Neg(Zero))) -> True new_primModNatS1(Zero, vuz7400) -> Zero new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error new_error -> error([]) new_esEs0(Integer(Neg(Succ(vuz101000)))) -> False new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_esEs0(Integer(Pos(Zero))) -> True new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error new_esEs0(Integer(Pos(Succ(vuz101000)))) -> False The set Q consists of the following terms: new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_esEs0(Integer(Neg(Succ(x0)))) new_esEs0(Integer(Pos(Succ(x0)))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_esEs0(Integer(Neg(Zero))) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(Zero, Succ(x0)) new_esEs0(Integer(Pos(Zero))) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_primModNatS01(x0, x1, Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_rem0(Integer(x0), Integer(x1)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primMinusNatS0(Zero, Zero) new_primModNatS02(x0, x1) new_primModNatS1(Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (771) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) at position [0,0,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))),new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0))))))) ---------------------------------------- (772) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'00(vuz97, vuz109) -> new_gcd0Gcd'(vuz109, vuz97) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'10(False, vuz97, vuz99) -> new_gcd0Gcd'00(vuz97, new_rem0(vuz99, vuz97)) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(x0, x1, x0, x1)))), Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(x0, x1, x0, x1)))), Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(x0, x1, x0, x1)))), Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Zero, Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Zero))))) new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) The TRS R consists of the following rules: new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error new_rem0(Integer(vuz990), Integer(vuz970)) -> Integer(new_primRemInt(vuz990, vuz970)) new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_esEs0(Integer(Neg(Zero))) -> True new_primModNatS1(Zero, vuz7400) -> Zero new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error new_error -> error([]) new_esEs0(Integer(Neg(Succ(vuz101000)))) -> False new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_esEs0(Integer(Pos(Zero))) -> True new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error new_esEs0(Integer(Pos(Succ(vuz101000)))) -> False The set Q consists of the following terms: new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_esEs0(Integer(Neg(Succ(x0)))) new_esEs0(Integer(Pos(Succ(x0)))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_esEs0(Integer(Neg(Zero))) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(Zero, Succ(x0)) new_esEs0(Integer(Pos(Zero))) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_primModNatS01(x0, x1, Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_rem0(Integer(x0), Integer(x1)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primMinusNatS0(Zero, Zero) new_primModNatS02(x0, x1) new_primModNatS1(Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (773) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Zero, Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Zero))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(Zero))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Zero))))),new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(Zero))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Zero)))))) ---------------------------------------- (774) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'00(vuz97, vuz109) -> new_gcd0Gcd'(vuz109, vuz97) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'10(False, vuz97, vuz99) -> new_gcd0Gcd'00(vuz97, new_rem0(vuz99, vuz97)) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(x0, x1, x0, x1)))), Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(x0, x1, x0, x1)))), Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(x0, x1, x0, x1)))), Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(Zero))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error new_rem0(Integer(vuz990), Integer(vuz970)) -> Integer(new_primRemInt(vuz990, vuz970)) new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_esEs0(Integer(Neg(Zero))) -> True new_primModNatS1(Zero, vuz7400) -> Zero new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error new_error -> error([]) new_esEs0(Integer(Neg(Succ(vuz101000)))) -> False new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_esEs0(Integer(Pos(Zero))) -> True new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error new_esEs0(Integer(Pos(Succ(vuz101000)))) -> False The set Q consists of the following terms: new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_esEs0(Integer(Neg(Succ(x0)))) new_esEs0(Integer(Pos(Succ(x0)))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_esEs0(Integer(Neg(Zero))) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(Zero, Succ(x0)) new_esEs0(Integer(Pos(Zero))) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_primModNatS01(x0, x1, Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_rem0(Integer(x0), Integer(x1)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primMinusNatS0(Zero, Zero) new_primModNatS02(x0, x1) new_primModNatS1(Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (775) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (776) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'10(False, vuz97, vuz99) -> new_gcd0Gcd'00(vuz97, new_rem0(vuz99, vuz97)) new_gcd0Gcd'00(vuz97, vuz109) -> new_gcd0Gcd'(vuz109, vuz97) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(x0, x1, x0, x1)))), Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(x0, x1, x0, x1)))), Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(x0, x1, x0, x1)))), Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) The TRS R consists of the following rules: new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error new_rem0(Integer(vuz990), Integer(vuz970)) -> Integer(new_primRemInt(vuz990, vuz970)) new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_esEs0(Integer(Neg(Zero))) -> True new_primModNatS1(Zero, vuz7400) -> Zero new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error new_error -> error([]) new_esEs0(Integer(Neg(Succ(vuz101000)))) -> False new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_esEs0(Integer(Pos(Zero))) -> True new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error new_esEs0(Integer(Pos(Succ(vuz101000)))) -> False The set Q consists of the following terms: new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_esEs0(Integer(Neg(Succ(x0)))) new_esEs0(Integer(Pos(Succ(x0)))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_esEs0(Integer(Neg(Zero))) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(Zero, Succ(x0)) new_esEs0(Integer(Pos(Zero))) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_primModNatS01(x0, x1, Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_rem0(Integer(x0), Integer(x1)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primMinusNatS0(Zero, Zero) new_primModNatS02(x0, x1) new_primModNatS1(Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (777) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_gcd0Gcd'(Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(x0, x1, x0, x1)))), Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) at position [0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))),new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2))))))) (new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(Succ(Succ(Zero))))), Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))),new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(Succ(Succ(Zero))))), Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero)))))) (new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS02(Zero, Zero)))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))),new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS02(Zero, Zero)))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero)))))) (new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS02(Succ(x2), Zero)))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))),new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS02(Succ(x2), Zero)))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2))))))) ---------------------------------------- (778) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'10(False, vuz97, vuz99) -> new_gcd0Gcd'00(vuz97, new_rem0(vuz99, vuz97)) new_gcd0Gcd'00(vuz97, vuz109) -> new_gcd0Gcd'(vuz109, vuz97) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(x0, x1, x0, x1)))), Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(x0, x1, x0, x1)))), Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(Succ(Succ(Zero))))), Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS02(Zero, Zero)))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS02(Succ(x2), Zero)))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) The TRS R consists of the following rules: new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error new_rem0(Integer(vuz990), Integer(vuz970)) -> Integer(new_primRemInt(vuz990, vuz970)) new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_esEs0(Integer(Neg(Zero))) -> True new_primModNatS1(Zero, vuz7400) -> Zero new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error new_error -> error([]) new_esEs0(Integer(Neg(Succ(vuz101000)))) -> False new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_esEs0(Integer(Pos(Zero))) -> True new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error new_esEs0(Integer(Pos(Succ(vuz101000)))) -> False The set Q consists of the following terms: new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_esEs0(Integer(Neg(Succ(x0)))) new_esEs0(Integer(Pos(Succ(x0)))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_esEs0(Integer(Neg(Zero))) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(Zero, Succ(x0)) new_esEs0(Integer(Pos(Zero))) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_primModNatS01(x0, x1, Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_rem0(Integer(x0), Integer(x1)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primMinusNatS0(Zero, Zero) new_primModNatS02(x0, x1) new_primModNatS1(Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (779) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(Succ(Succ(Zero))))), Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) at position [0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))),new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero)))))) ---------------------------------------- (780) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'10(False, vuz97, vuz99) -> new_gcd0Gcd'00(vuz97, new_rem0(vuz99, vuz97)) new_gcd0Gcd'00(vuz97, vuz109) -> new_gcd0Gcd'(vuz109, vuz97) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(x0, x1, x0, x1)))), Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(x0, x1, x0, x1)))), Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS02(Zero, Zero)))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS02(Succ(x2), Zero)))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error new_rem0(Integer(vuz990), Integer(vuz970)) -> Integer(new_primRemInt(vuz990, vuz970)) new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_esEs0(Integer(Neg(Zero))) -> True new_primModNatS1(Zero, vuz7400) -> Zero new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error new_error -> error([]) new_esEs0(Integer(Neg(Succ(vuz101000)))) -> False new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_esEs0(Integer(Pos(Zero))) -> True new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error new_esEs0(Integer(Pos(Succ(vuz101000)))) -> False The set Q consists of the following terms: new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_esEs0(Integer(Neg(Succ(x0)))) new_esEs0(Integer(Pos(Succ(x0)))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_esEs0(Integer(Neg(Zero))) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(Zero, Succ(x0)) new_esEs0(Integer(Pos(Zero))) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_primModNatS01(x0, x1, Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_rem0(Integer(x0), Integer(x1)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primMinusNatS0(Zero, Zero) new_primModNatS02(x0, x1) new_primModNatS1(Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (781) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS02(Zero, Zero)))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(new_primMinusNatS0(Succ(Zero), Succ(Zero)), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))),new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(new_primMinusNatS0(Succ(Zero), Succ(Zero)), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero)))))) ---------------------------------------- (782) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'10(False, vuz97, vuz99) -> new_gcd0Gcd'00(vuz97, new_rem0(vuz99, vuz97)) new_gcd0Gcd'00(vuz97, vuz109) -> new_gcd0Gcd'(vuz109, vuz97) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(x0, x1, x0, x1)))), Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(x0, x1, x0, x1)))), Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS02(Succ(x2), Zero)))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(new_primMinusNatS0(Succ(Zero), Succ(Zero)), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error new_rem0(Integer(vuz990), Integer(vuz970)) -> Integer(new_primRemInt(vuz990, vuz970)) new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_esEs0(Integer(Neg(Zero))) -> True new_primModNatS1(Zero, vuz7400) -> Zero new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error new_error -> error([]) new_esEs0(Integer(Neg(Succ(vuz101000)))) -> False new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_esEs0(Integer(Pos(Zero))) -> True new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error new_esEs0(Integer(Pos(Succ(vuz101000)))) -> False The set Q consists of the following terms: new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_esEs0(Integer(Neg(Succ(x0)))) new_esEs0(Integer(Pos(Succ(x0)))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_esEs0(Integer(Neg(Zero))) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(Zero, Succ(x0)) new_esEs0(Integer(Pos(Zero))) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_primModNatS01(x0, x1, Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_rem0(Integer(x0), Integer(x1)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primMinusNatS0(Zero, Zero) new_primModNatS02(x0, x1) new_primModNatS1(Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (783) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS02(Succ(x2), Zero)))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(new_primMinusNatS0(Succ(Succ(x2)), Succ(Zero)), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))),new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(new_primMinusNatS0(Succ(Succ(x2)), Succ(Zero)), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2))))))) ---------------------------------------- (784) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'10(False, vuz97, vuz99) -> new_gcd0Gcd'00(vuz97, new_rem0(vuz99, vuz97)) new_gcd0Gcd'00(vuz97, vuz109) -> new_gcd0Gcd'(vuz109, vuz97) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(x0, x1, x0, x1)))), Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(x0, x1, x0, x1)))), Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(new_primMinusNatS0(Succ(Zero), Succ(Zero)), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(new_primMinusNatS0(Succ(Succ(x2)), Succ(Zero)), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) The TRS R consists of the following rules: new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error new_rem0(Integer(vuz990), Integer(vuz970)) -> Integer(new_primRemInt(vuz990, vuz970)) new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_esEs0(Integer(Neg(Zero))) -> True new_primModNatS1(Zero, vuz7400) -> Zero new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error new_error -> error([]) new_esEs0(Integer(Neg(Succ(vuz101000)))) -> False new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_esEs0(Integer(Pos(Zero))) -> True new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error new_esEs0(Integer(Pos(Succ(vuz101000)))) -> False The set Q consists of the following terms: new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_esEs0(Integer(Neg(Succ(x0)))) new_esEs0(Integer(Pos(Succ(x0)))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_esEs0(Integer(Neg(Zero))) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(Zero, Succ(x0)) new_esEs0(Integer(Pos(Zero))) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_primModNatS01(x0, x1, Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_rem0(Integer(x0), Integer(x1)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primMinusNatS0(Zero, Zero) new_primModNatS02(x0, x1) new_primModNatS1(Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (785) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(new_primMinusNatS0(Succ(Zero), Succ(Zero)), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) at position [0,0,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))),new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero)))))) ---------------------------------------- (786) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'10(False, vuz97, vuz99) -> new_gcd0Gcd'00(vuz97, new_rem0(vuz99, vuz97)) new_gcd0Gcd'00(vuz97, vuz109) -> new_gcd0Gcd'(vuz109, vuz97) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(x0, x1, x0, x1)))), Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(x0, x1, x0, x1)))), Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(new_primMinusNatS0(Succ(Succ(x2)), Succ(Zero)), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error new_rem0(Integer(vuz990), Integer(vuz970)) -> Integer(new_primRemInt(vuz990, vuz970)) new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_esEs0(Integer(Neg(Zero))) -> True new_primModNatS1(Zero, vuz7400) -> Zero new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error new_error -> error([]) new_esEs0(Integer(Neg(Succ(vuz101000)))) -> False new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_esEs0(Integer(Pos(Zero))) -> True new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error new_esEs0(Integer(Pos(Succ(vuz101000)))) -> False The set Q consists of the following terms: new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_esEs0(Integer(Neg(Succ(x0)))) new_esEs0(Integer(Pos(Succ(x0)))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_esEs0(Integer(Neg(Zero))) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(Zero, Succ(x0)) new_esEs0(Integer(Pos(Zero))) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_primModNatS01(x0, x1, Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_rem0(Integer(x0), Integer(x1)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primMinusNatS0(Zero, Zero) new_primModNatS02(x0, x1) new_primModNatS1(Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (787) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(new_primMinusNatS0(Succ(Succ(x2)), Succ(Zero)), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) at position [0,0,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(new_primMinusNatS0(Succ(x2), Zero), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))),new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(new_primMinusNatS0(Succ(x2), Zero), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2))))))) ---------------------------------------- (788) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'10(False, vuz97, vuz99) -> new_gcd0Gcd'00(vuz97, new_rem0(vuz99, vuz97)) new_gcd0Gcd'00(vuz97, vuz109) -> new_gcd0Gcd'(vuz109, vuz97) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(x0, x1, x0, x1)))), Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(x0, x1, x0, x1)))), Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(new_primMinusNatS0(Succ(x2), Zero), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) The TRS R consists of the following rules: new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error new_rem0(Integer(vuz990), Integer(vuz970)) -> Integer(new_primRemInt(vuz990, vuz970)) new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_esEs0(Integer(Neg(Zero))) -> True new_primModNatS1(Zero, vuz7400) -> Zero new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error new_error -> error([]) new_esEs0(Integer(Neg(Succ(vuz101000)))) -> False new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_esEs0(Integer(Pos(Zero))) -> True new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error new_esEs0(Integer(Pos(Succ(vuz101000)))) -> False The set Q consists of the following terms: new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_esEs0(Integer(Neg(Succ(x0)))) new_esEs0(Integer(Pos(Succ(x0)))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_esEs0(Integer(Neg(Zero))) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(Zero, Succ(x0)) new_esEs0(Integer(Pos(Zero))) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_primModNatS01(x0, x1, Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_rem0(Integer(x0), Integer(x1)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primMinusNatS0(Zero, Zero) new_primModNatS02(x0, x1) new_primModNatS1(Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (789) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) at position [0,0,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Zero, Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))),new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Zero, Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero)))))) ---------------------------------------- (790) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'10(False, vuz97, vuz99) -> new_gcd0Gcd'00(vuz97, new_rem0(vuz99, vuz97)) new_gcd0Gcd'00(vuz97, vuz109) -> new_gcd0Gcd'(vuz109, vuz97) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(x0, x1, x0, x1)))), Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(x0, x1, x0, x1)))), Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(new_primMinusNatS0(Succ(x2), Zero), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Zero, Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error new_rem0(Integer(vuz990), Integer(vuz970)) -> Integer(new_primRemInt(vuz990, vuz970)) new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_esEs0(Integer(Neg(Zero))) -> True new_primModNatS1(Zero, vuz7400) -> Zero new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error new_error -> error([]) new_esEs0(Integer(Neg(Succ(vuz101000)))) -> False new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_esEs0(Integer(Pos(Zero))) -> True new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error new_esEs0(Integer(Pos(Succ(vuz101000)))) -> False The set Q consists of the following terms: new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_esEs0(Integer(Neg(Succ(x0)))) new_esEs0(Integer(Pos(Succ(x0)))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_esEs0(Integer(Neg(Zero))) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(Zero, Succ(x0)) new_esEs0(Integer(Pos(Zero))) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_primModNatS01(x0, x1, Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_rem0(Integer(x0), Integer(x1)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primMinusNatS0(Zero, Zero) new_primModNatS02(x0, x1) new_primModNatS1(Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (791) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(new_primMinusNatS0(Succ(x2), Zero), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) at position [0,0,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))),new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2))))))) ---------------------------------------- (792) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'10(False, vuz97, vuz99) -> new_gcd0Gcd'00(vuz97, new_rem0(vuz99, vuz97)) new_gcd0Gcd'00(vuz97, vuz109) -> new_gcd0Gcd'(vuz109, vuz97) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(x0, x1, x0, x1)))), Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(x0, x1, x0, x1)))), Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Zero, Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) The TRS R consists of the following rules: new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error new_rem0(Integer(vuz990), Integer(vuz970)) -> Integer(new_primRemInt(vuz990, vuz970)) new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_esEs0(Integer(Neg(Zero))) -> True new_primModNatS1(Zero, vuz7400) -> Zero new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error new_error -> error([]) new_esEs0(Integer(Neg(Succ(vuz101000)))) -> False new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_esEs0(Integer(Pos(Zero))) -> True new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error new_esEs0(Integer(Pos(Succ(vuz101000)))) -> False The set Q consists of the following terms: new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_esEs0(Integer(Neg(Succ(x0)))) new_esEs0(Integer(Pos(Succ(x0)))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_esEs0(Integer(Neg(Zero))) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(Zero, Succ(x0)) new_esEs0(Integer(Pos(Zero))) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_primModNatS01(x0, x1, Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_rem0(Integer(x0), Integer(x1)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primMinusNatS0(Zero, Zero) new_primModNatS02(x0, x1) new_primModNatS1(Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (793) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Zero, Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(Zero))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))),new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(Zero))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero)))))) ---------------------------------------- (794) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'10(False, vuz97, vuz99) -> new_gcd0Gcd'00(vuz97, new_rem0(vuz99, vuz97)) new_gcd0Gcd'00(vuz97, vuz109) -> new_gcd0Gcd'(vuz109, vuz97) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(x0, x1, x0, x1)))), Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(x0, x1, x0, x1)))), Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(Zero))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error new_rem0(Integer(vuz990), Integer(vuz970)) -> Integer(new_primRemInt(vuz990, vuz970)) new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_esEs0(Integer(Neg(Zero))) -> True new_primModNatS1(Zero, vuz7400) -> Zero new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error new_error -> error([]) new_esEs0(Integer(Neg(Succ(vuz101000)))) -> False new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_esEs0(Integer(Pos(Zero))) -> True new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error new_esEs0(Integer(Pos(Succ(vuz101000)))) -> False The set Q consists of the following terms: new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_esEs0(Integer(Neg(Succ(x0)))) new_esEs0(Integer(Pos(Succ(x0)))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_esEs0(Integer(Neg(Zero))) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(Zero, Succ(x0)) new_esEs0(Integer(Pos(Zero))) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_primModNatS01(x0, x1, Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_rem0(Integer(x0), Integer(x1)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primMinusNatS0(Zero, Zero) new_primModNatS02(x0, x1) new_primModNatS1(Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (795) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (796) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'10(False, vuz97, vuz99) -> new_gcd0Gcd'00(vuz97, new_rem0(vuz99, vuz97)) new_gcd0Gcd'00(vuz97, vuz109) -> new_gcd0Gcd'(vuz109, vuz97) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(x0, x1, x0, x1)))), Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(x0, x1, x0, x1)))), Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) The TRS R consists of the following rules: new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error new_rem0(Integer(vuz990), Integer(vuz970)) -> Integer(new_primRemInt(vuz990, vuz970)) new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_esEs0(Integer(Neg(Zero))) -> True new_primModNatS1(Zero, vuz7400) -> Zero new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error new_error -> error([]) new_esEs0(Integer(Neg(Succ(vuz101000)))) -> False new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_esEs0(Integer(Pos(Zero))) -> True new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error new_esEs0(Integer(Pos(Succ(vuz101000)))) -> False The set Q consists of the following terms: new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_esEs0(Integer(Neg(Succ(x0)))) new_esEs0(Integer(Pos(Succ(x0)))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_esEs0(Integer(Neg(Zero))) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(Zero, Succ(x0)) new_esEs0(Integer(Pos(Zero))) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_primModNatS01(x0, x1, Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_rem0(Integer(x0), Integer(x1)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primMinusNatS0(Zero, Zero) new_primModNatS02(x0, x1) new_primModNatS1(Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (797) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) at position [0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Zero))))),new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Zero)))))) (new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))),new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0))))))) ---------------------------------------- (798) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'10(False, vuz97, vuz99) -> new_gcd0Gcd'00(vuz97, new_rem0(vuz99, vuz97)) new_gcd0Gcd'00(vuz97, vuz109) -> new_gcd0Gcd'(vuz109, vuz97) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(x0, x1, x0, x1)))), Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(x0, x1, x0, x1)))), Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Zero))))) new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) The TRS R consists of the following rules: new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error new_rem0(Integer(vuz990), Integer(vuz970)) -> Integer(new_primRemInt(vuz990, vuz970)) new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_esEs0(Integer(Neg(Zero))) -> True new_primModNatS1(Zero, vuz7400) -> Zero new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error new_error -> error([]) new_esEs0(Integer(Neg(Succ(vuz101000)))) -> False new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_esEs0(Integer(Pos(Zero))) -> True new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error new_esEs0(Integer(Pos(Succ(vuz101000)))) -> False The set Q consists of the following terms: new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_esEs0(Integer(Neg(Succ(x0)))) new_esEs0(Integer(Pos(Succ(x0)))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_esEs0(Integer(Neg(Zero))) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(Zero, Succ(x0)) new_esEs0(Integer(Pos(Zero))) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_primModNatS01(x0, x1, Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_rem0(Integer(x0), Integer(x1)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primMinusNatS0(Zero, Zero) new_primModNatS02(x0, x1) new_primModNatS1(Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (799) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Zero))))) at position [0,0,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Zero, Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Zero))))),new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Zero, Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Zero)))))) ---------------------------------------- (800) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'10(False, vuz97, vuz99) -> new_gcd0Gcd'00(vuz97, new_rem0(vuz99, vuz97)) new_gcd0Gcd'00(vuz97, vuz109) -> new_gcd0Gcd'(vuz109, vuz97) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(x0, x1, x0, x1)))), Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(x0, x1, x0, x1)))), Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Zero, Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error new_rem0(Integer(vuz990), Integer(vuz970)) -> Integer(new_primRemInt(vuz990, vuz970)) new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_esEs0(Integer(Neg(Zero))) -> True new_primModNatS1(Zero, vuz7400) -> Zero new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error new_error -> error([]) new_esEs0(Integer(Neg(Succ(vuz101000)))) -> False new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_esEs0(Integer(Pos(Zero))) -> True new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error new_esEs0(Integer(Pos(Succ(vuz101000)))) -> False The set Q consists of the following terms: new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_esEs0(Integer(Neg(Succ(x0)))) new_esEs0(Integer(Pos(Succ(x0)))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_esEs0(Integer(Neg(Zero))) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(Zero, Succ(x0)) new_esEs0(Integer(Pos(Zero))) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_primModNatS01(x0, x1, Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_rem0(Integer(x0), Integer(x1)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primMinusNatS0(Zero, Zero) new_primModNatS02(x0, x1) new_primModNatS1(Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (801) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) at position [0,0,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))),new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0))))))) ---------------------------------------- (802) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'10(False, vuz97, vuz99) -> new_gcd0Gcd'00(vuz97, new_rem0(vuz99, vuz97)) new_gcd0Gcd'00(vuz97, vuz109) -> new_gcd0Gcd'(vuz109, vuz97) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(x0, x1, x0, x1)))), Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(x0, x1, x0, x1)))), Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Zero, Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Zero))))) new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) The TRS R consists of the following rules: new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error new_rem0(Integer(vuz990), Integer(vuz970)) -> Integer(new_primRemInt(vuz990, vuz970)) new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_esEs0(Integer(Neg(Zero))) -> True new_primModNatS1(Zero, vuz7400) -> Zero new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error new_error -> error([]) new_esEs0(Integer(Neg(Succ(vuz101000)))) -> False new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_esEs0(Integer(Pos(Zero))) -> True new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error new_esEs0(Integer(Pos(Succ(vuz101000)))) -> False The set Q consists of the following terms: new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_esEs0(Integer(Neg(Succ(x0)))) new_esEs0(Integer(Pos(Succ(x0)))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_esEs0(Integer(Neg(Zero))) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(Zero, Succ(x0)) new_esEs0(Integer(Pos(Zero))) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_primModNatS01(x0, x1, Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_rem0(Integer(x0), Integer(x1)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primMinusNatS0(Zero, Zero) new_primModNatS02(x0, x1) new_primModNatS1(Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (803) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Zero, Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Zero))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(Zero))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Zero))))),new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(Zero))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Zero)))))) ---------------------------------------- (804) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'10(False, vuz97, vuz99) -> new_gcd0Gcd'00(vuz97, new_rem0(vuz99, vuz97)) new_gcd0Gcd'00(vuz97, vuz109) -> new_gcd0Gcd'(vuz109, vuz97) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(x0, x1, x0, x1)))), Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(x0, x1, x0, x1)))), Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(Zero))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error new_rem0(Integer(vuz990), Integer(vuz970)) -> Integer(new_primRemInt(vuz990, vuz970)) new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_esEs0(Integer(Neg(Zero))) -> True new_primModNatS1(Zero, vuz7400) -> Zero new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error new_error -> error([]) new_esEs0(Integer(Neg(Succ(vuz101000)))) -> False new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_esEs0(Integer(Pos(Zero))) -> True new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error new_esEs0(Integer(Pos(Succ(vuz101000)))) -> False The set Q consists of the following terms: new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_esEs0(Integer(Neg(Succ(x0)))) new_esEs0(Integer(Pos(Succ(x0)))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_esEs0(Integer(Neg(Zero))) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(Zero, Succ(x0)) new_esEs0(Integer(Pos(Zero))) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_primModNatS01(x0, x1, Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_rem0(Integer(x0), Integer(x1)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primMinusNatS0(Zero, Zero) new_primModNatS02(x0, x1) new_primModNatS1(Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (805) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (806) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'00(vuz97, vuz109) -> new_gcd0Gcd'(vuz109, vuz97) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'10(False, vuz97, vuz99) -> new_gcd0Gcd'00(vuz97, new_rem0(vuz99, vuz97)) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(x0, x1, x0, x1)))), Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(x0, x1, x0, x1)))), Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) The TRS R consists of the following rules: new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error new_rem0(Integer(vuz990), Integer(vuz970)) -> Integer(new_primRemInt(vuz990, vuz970)) new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_esEs0(Integer(Neg(Zero))) -> True new_primModNatS1(Zero, vuz7400) -> Zero new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error new_error -> error([]) new_esEs0(Integer(Neg(Succ(vuz101000)))) -> False new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_esEs0(Integer(Pos(Zero))) -> True new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error new_esEs0(Integer(Pos(Succ(vuz101000)))) -> False The set Q consists of the following terms: new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_esEs0(Integer(Neg(Succ(x0)))) new_esEs0(Integer(Pos(Succ(x0)))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_esEs0(Integer(Neg(Zero))) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(Zero, Succ(x0)) new_esEs0(Integer(Pos(Zero))) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_primModNatS01(x0, x1, Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_rem0(Integer(x0), Integer(x1)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primMinusNatS0(Zero, Zero) new_primModNatS02(x0, x1) new_primModNatS1(Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (807) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_gcd0Gcd'(Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(x0, x1, x0, x1)))), Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) at position [0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))),new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2))))))) (new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(Succ(Succ(Zero))))), Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))),new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(Succ(Succ(Zero))))), Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero)))))) (new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS02(Zero, Zero)))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))),new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS02(Zero, Zero)))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero)))))) (new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS02(Succ(x2), Zero)))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))),new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS02(Succ(x2), Zero)))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2))))))) ---------------------------------------- (808) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'00(vuz97, vuz109) -> new_gcd0Gcd'(vuz109, vuz97) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'10(False, vuz97, vuz99) -> new_gcd0Gcd'00(vuz97, new_rem0(vuz99, vuz97)) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(x0, x1, x0, x1)))), Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(Succ(Succ(Zero))))), Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS02(Zero, Zero)))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS02(Succ(x2), Zero)))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) The TRS R consists of the following rules: new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error new_rem0(Integer(vuz990), Integer(vuz970)) -> Integer(new_primRemInt(vuz990, vuz970)) new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_esEs0(Integer(Neg(Zero))) -> True new_primModNatS1(Zero, vuz7400) -> Zero new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error new_error -> error([]) new_esEs0(Integer(Neg(Succ(vuz101000)))) -> False new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_esEs0(Integer(Pos(Zero))) -> True new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error new_esEs0(Integer(Pos(Succ(vuz101000)))) -> False The set Q consists of the following terms: new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_esEs0(Integer(Neg(Succ(x0)))) new_esEs0(Integer(Pos(Succ(x0)))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_esEs0(Integer(Neg(Zero))) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(Zero, Succ(x0)) new_esEs0(Integer(Pos(Zero))) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_primModNatS01(x0, x1, Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_rem0(Integer(x0), Integer(x1)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primMinusNatS0(Zero, Zero) new_primModNatS02(x0, x1) new_primModNatS1(Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (809) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(Succ(Succ(Zero))))), Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) at position [0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))),new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero)))))) ---------------------------------------- (810) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'00(vuz97, vuz109) -> new_gcd0Gcd'(vuz109, vuz97) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'10(False, vuz97, vuz99) -> new_gcd0Gcd'00(vuz97, new_rem0(vuz99, vuz97)) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(x0, x1, x0, x1)))), Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS02(Zero, Zero)))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS02(Succ(x2), Zero)))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error new_rem0(Integer(vuz990), Integer(vuz970)) -> Integer(new_primRemInt(vuz990, vuz970)) new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_esEs0(Integer(Neg(Zero))) -> True new_primModNatS1(Zero, vuz7400) -> Zero new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error new_error -> error([]) new_esEs0(Integer(Neg(Succ(vuz101000)))) -> False new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_esEs0(Integer(Pos(Zero))) -> True new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error new_esEs0(Integer(Pos(Succ(vuz101000)))) -> False The set Q consists of the following terms: new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_esEs0(Integer(Neg(Succ(x0)))) new_esEs0(Integer(Pos(Succ(x0)))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_esEs0(Integer(Neg(Zero))) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(Zero, Succ(x0)) new_esEs0(Integer(Pos(Zero))) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_primModNatS01(x0, x1, Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_rem0(Integer(x0), Integer(x1)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primMinusNatS0(Zero, Zero) new_primModNatS02(x0, x1) new_primModNatS1(Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (811) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS02(Zero, Zero)))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(new_primMinusNatS0(Succ(Zero), Succ(Zero)), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))),new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(new_primMinusNatS0(Succ(Zero), Succ(Zero)), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero)))))) ---------------------------------------- (812) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'00(vuz97, vuz109) -> new_gcd0Gcd'(vuz109, vuz97) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'10(False, vuz97, vuz99) -> new_gcd0Gcd'00(vuz97, new_rem0(vuz99, vuz97)) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(x0, x1, x0, x1)))), Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS02(Succ(x2), Zero)))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(new_primMinusNatS0(Succ(Zero), Succ(Zero)), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error new_rem0(Integer(vuz990), Integer(vuz970)) -> Integer(new_primRemInt(vuz990, vuz970)) new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_esEs0(Integer(Neg(Zero))) -> True new_primModNatS1(Zero, vuz7400) -> Zero new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error new_error -> error([]) new_esEs0(Integer(Neg(Succ(vuz101000)))) -> False new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_esEs0(Integer(Pos(Zero))) -> True new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error new_esEs0(Integer(Pos(Succ(vuz101000)))) -> False The set Q consists of the following terms: new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_esEs0(Integer(Neg(Succ(x0)))) new_esEs0(Integer(Pos(Succ(x0)))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_esEs0(Integer(Neg(Zero))) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(Zero, Succ(x0)) new_esEs0(Integer(Pos(Zero))) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_primModNatS01(x0, x1, Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_rem0(Integer(x0), Integer(x1)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primMinusNatS0(Zero, Zero) new_primModNatS02(x0, x1) new_primModNatS1(Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (813) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS02(Succ(x2), Zero)))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(new_primMinusNatS0(Succ(Succ(x2)), Succ(Zero)), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))),new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(new_primMinusNatS0(Succ(Succ(x2)), Succ(Zero)), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2))))))) ---------------------------------------- (814) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'00(vuz97, vuz109) -> new_gcd0Gcd'(vuz109, vuz97) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'10(False, vuz97, vuz99) -> new_gcd0Gcd'00(vuz97, new_rem0(vuz99, vuz97)) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(x0, x1, x0, x1)))), Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(new_primMinusNatS0(Succ(Zero), Succ(Zero)), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(new_primMinusNatS0(Succ(Succ(x2)), Succ(Zero)), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) The TRS R consists of the following rules: new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error new_rem0(Integer(vuz990), Integer(vuz970)) -> Integer(new_primRemInt(vuz990, vuz970)) new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_esEs0(Integer(Neg(Zero))) -> True new_primModNatS1(Zero, vuz7400) -> Zero new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error new_error -> error([]) new_esEs0(Integer(Neg(Succ(vuz101000)))) -> False new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_esEs0(Integer(Pos(Zero))) -> True new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error new_esEs0(Integer(Pos(Succ(vuz101000)))) -> False The set Q consists of the following terms: new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_esEs0(Integer(Neg(Succ(x0)))) new_esEs0(Integer(Pos(Succ(x0)))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_esEs0(Integer(Neg(Zero))) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(Zero, Succ(x0)) new_esEs0(Integer(Pos(Zero))) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_primModNatS01(x0, x1, Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_rem0(Integer(x0), Integer(x1)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primMinusNatS0(Zero, Zero) new_primModNatS02(x0, x1) new_primModNatS1(Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (815) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(new_primMinusNatS0(Succ(Zero), Succ(Zero)), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))) at position [0,0,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))),new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero)))))) ---------------------------------------- (816) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'00(vuz97, vuz109) -> new_gcd0Gcd'(vuz109, vuz97) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'10(False, vuz97, vuz99) -> new_gcd0Gcd'00(vuz97, new_rem0(vuz99, vuz97)) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(x0, x1, x0, x1)))), Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(new_primMinusNatS0(Succ(Succ(x2)), Succ(Zero)), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error new_rem0(Integer(vuz990), Integer(vuz970)) -> Integer(new_primRemInt(vuz990, vuz970)) new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_esEs0(Integer(Neg(Zero))) -> True new_primModNatS1(Zero, vuz7400) -> Zero new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error new_error -> error([]) new_esEs0(Integer(Neg(Succ(vuz101000)))) -> False new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_esEs0(Integer(Pos(Zero))) -> True new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error new_esEs0(Integer(Pos(Succ(vuz101000)))) -> False The set Q consists of the following terms: new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_esEs0(Integer(Neg(Succ(x0)))) new_esEs0(Integer(Pos(Succ(x0)))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_esEs0(Integer(Neg(Zero))) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(Zero, Succ(x0)) new_esEs0(Integer(Pos(Zero))) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_primModNatS01(x0, x1, Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_rem0(Integer(x0), Integer(x1)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primMinusNatS0(Zero, Zero) new_primModNatS02(x0, x1) new_primModNatS1(Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (817) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(new_primMinusNatS0(Succ(Succ(x2)), Succ(Zero)), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) at position [0,0,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(new_primMinusNatS0(Succ(x2), Zero), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))),new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(new_primMinusNatS0(Succ(x2), Zero), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2))))))) ---------------------------------------- (818) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'00(vuz97, vuz109) -> new_gcd0Gcd'(vuz109, vuz97) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'10(False, vuz97, vuz99) -> new_gcd0Gcd'00(vuz97, new_rem0(vuz99, vuz97)) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(x0, x1, x0, x1)))), Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(new_primMinusNatS0(Succ(x2), Zero), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) The TRS R consists of the following rules: new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error new_rem0(Integer(vuz990), Integer(vuz970)) -> Integer(new_primRemInt(vuz990, vuz970)) new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_esEs0(Integer(Neg(Zero))) -> True new_primModNatS1(Zero, vuz7400) -> Zero new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error new_error -> error([]) new_esEs0(Integer(Neg(Succ(vuz101000)))) -> False new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_esEs0(Integer(Pos(Zero))) -> True new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error new_esEs0(Integer(Pos(Succ(vuz101000)))) -> False The set Q consists of the following terms: new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_esEs0(Integer(Neg(Succ(x0)))) new_esEs0(Integer(Pos(Succ(x0)))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_esEs0(Integer(Neg(Zero))) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(Zero, Succ(x0)) new_esEs0(Integer(Pos(Zero))) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_primModNatS01(x0, x1, Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_rem0(Integer(x0), Integer(x1)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primMinusNatS0(Zero, Zero) new_primModNatS02(x0, x1) new_primModNatS1(Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (819) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))) at position [0,0,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Zero, Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))),new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Zero, Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero)))))) ---------------------------------------- (820) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'00(vuz97, vuz109) -> new_gcd0Gcd'(vuz109, vuz97) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'10(False, vuz97, vuz99) -> new_gcd0Gcd'00(vuz97, new_rem0(vuz99, vuz97)) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(x0, x1, x0, x1)))), Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(new_primMinusNatS0(Succ(x2), Zero), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Zero, Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error new_rem0(Integer(vuz990), Integer(vuz970)) -> Integer(new_primRemInt(vuz990, vuz970)) new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_esEs0(Integer(Neg(Zero))) -> True new_primModNatS1(Zero, vuz7400) -> Zero new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error new_error -> error([]) new_esEs0(Integer(Neg(Succ(vuz101000)))) -> False new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_esEs0(Integer(Pos(Zero))) -> True new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error new_esEs0(Integer(Pos(Succ(vuz101000)))) -> False The set Q consists of the following terms: new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_esEs0(Integer(Neg(Succ(x0)))) new_esEs0(Integer(Pos(Succ(x0)))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_esEs0(Integer(Neg(Zero))) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(Zero, Succ(x0)) new_esEs0(Integer(Pos(Zero))) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_primModNatS01(x0, x1, Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_rem0(Integer(x0), Integer(x1)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primMinusNatS0(Zero, Zero) new_primModNatS02(x0, x1) new_primModNatS1(Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (821) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(new_primMinusNatS0(Succ(x2), Zero), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) at position [0,0,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))),new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2))))))) ---------------------------------------- (822) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'00(vuz97, vuz109) -> new_gcd0Gcd'(vuz109, vuz97) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'10(False, vuz97, vuz99) -> new_gcd0Gcd'00(vuz97, new_rem0(vuz99, vuz97)) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(x0, x1, x0, x1)))), Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Zero, Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) The TRS R consists of the following rules: new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error new_rem0(Integer(vuz990), Integer(vuz970)) -> Integer(new_primRemInt(vuz990, vuz970)) new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_esEs0(Integer(Neg(Zero))) -> True new_primModNatS1(Zero, vuz7400) -> Zero new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error new_error -> error([]) new_esEs0(Integer(Neg(Succ(vuz101000)))) -> False new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_esEs0(Integer(Pos(Zero))) -> True new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error new_esEs0(Integer(Pos(Succ(vuz101000)))) -> False The set Q consists of the following terms: new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_esEs0(Integer(Neg(Succ(x0)))) new_esEs0(Integer(Pos(Succ(x0)))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_esEs0(Integer(Neg(Zero))) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(Zero, Succ(x0)) new_esEs0(Integer(Pos(Zero))) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_primModNatS01(x0, x1, Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_rem0(Integer(x0), Integer(x1)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primMinusNatS0(Zero, Zero) new_primModNatS02(x0, x1) new_primModNatS1(Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (823) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Zero, Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(Zero))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))),new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(Zero))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero)))))) ---------------------------------------- (824) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'00(vuz97, vuz109) -> new_gcd0Gcd'(vuz109, vuz97) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'10(False, vuz97, vuz99) -> new_gcd0Gcd'00(vuz97, new_rem0(vuz99, vuz97)) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(x0, x1, x0, x1)))), Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(Zero))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error new_rem0(Integer(vuz990), Integer(vuz970)) -> Integer(new_primRemInt(vuz990, vuz970)) new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_esEs0(Integer(Neg(Zero))) -> True new_primModNatS1(Zero, vuz7400) -> Zero new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error new_error -> error([]) new_esEs0(Integer(Neg(Succ(vuz101000)))) -> False new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_esEs0(Integer(Pos(Zero))) -> True new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error new_esEs0(Integer(Pos(Succ(vuz101000)))) -> False The set Q consists of the following terms: new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_esEs0(Integer(Neg(Succ(x0)))) new_esEs0(Integer(Pos(Succ(x0)))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_esEs0(Integer(Neg(Zero))) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(Zero, Succ(x0)) new_esEs0(Integer(Pos(Zero))) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_primModNatS01(x0, x1, Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_rem0(Integer(x0), Integer(x1)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primMinusNatS0(Zero, Zero) new_primModNatS02(x0, x1) new_primModNatS1(Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (825) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (826) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'10(False, vuz97, vuz99) -> new_gcd0Gcd'00(vuz97, new_rem0(vuz99, vuz97)) new_gcd0Gcd'00(vuz97, vuz109) -> new_gcd0Gcd'(vuz109, vuz97) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(x0, x1, x0, x1)))), Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) The TRS R consists of the following rules: new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error new_rem0(Integer(vuz990), Integer(vuz970)) -> Integer(new_primRemInt(vuz990, vuz970)) new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_esEs0(Integer(Neg(Zero))) -> True new_primModNatS1(Zero, vuz7400) -> Zero new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error new_error -> error([]) new_esEs0(Integer(Neg(Succ(vuz101000)))) -> False new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_esEs0(Integer(Pos(Zero))) -> True new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error new_esEs0(Integer(Pos(Succ(vuz101000)))) -> False The set Q consists of the following terms: new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_esEs0(Integer(Neg(Succ(x0)))) new_esEs0(Integer(Pos(Succ(x0)))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_esEs0(Integer(Neg(Zero))) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(Zero, Succ(x0)) new_esEs0(Integer(Pos(Zero))) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_primModNatS01(x0, x1, Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_rem0(Integer(x0), Integer(x1)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primMinusNatS0(Zero, Zero) new_primModNatS02(x0, x1) new_primModNatS1(Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (827) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) at position [0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(Zero))))),new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(Zero)))))) (new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(Succ(x0)))))),new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(Succ(x0))))))) ---------------------------------------- (828) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'10(False, vuz97, vuz99) -> new_gcd0Gcd'00(vuz97, new_rem0(vuz99, vuz97)) new_gcd0Gcd'00(vuz97, vuz109) -> new_gcd0Gcd'(vuz109, vuz97) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(x0, x1, x0, x1)))), Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(Zero))))) new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(Succ(x0)))))) The TRS R consists of the following rules: new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error new_rem0(Integer(vuz990), Integer(vuz970)) -> Integer(new_primRemInt(vuz990, vuz970)) new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_esEs0(Integer(Neg(Zero))) -> True new_primModNatS1(Zero, vuz7400) -> Zero new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error new_error -> error([]) new_esEs0(Integer(Neg(Succ(vuz101000)))) -> False new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_esEs0(Integer(Pos(Zero))) -> True new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error new_esEs0(Integer(Pos(Succ(vuz101000)))) -> False The set Q consists of the following terms: new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_esEs0(Integer(Neg(Succ(x0)))) new_esEs0(Integer(Pos(Succ(x0)))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_esEs0(Integer(Neg(Zero))) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(Zero, Succ(x0)) new_esEs0(Integer(Pos(Zero))) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_primModNatS01(x0, x1, Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_rem0(Integer(x0), Integer(x1)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primMinusNatS0(Zero, Zero) new_primModNatS02(x0, x1) new_primModNatS1(Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (829) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(Zero))))) at position [0,0,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Zero, Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(Zero))))),new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Zero, Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(Zero)))))) ---------------------------------------- (830) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'10(False, vuz97, vuz99) -> new_gcd0Gcd'00(vuz97, new_rem0(vuz99, vuz97)) new_gcd0Gcd'00(vuz97, vuz109) -> new_gcd0Gcd'(vuz109, vuz97) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(x0, x1, x0, x1)))), Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Zero, Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error new_rem0(Integer(vuz990), Integer(vuz970)) -> Integer(new_primRemInt(vuz990, vuz970)) new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_esEs0(Integer(Neg(Zero))) -> True new_primModNatS1(Zero, vuz7400) -> Zero new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error new_error -> error([]) new_esEs0(Integer(Neg(Succ(vuz101000)))) -> False new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_esEs0(Integer(Pos(Zero))) -> True new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error new_esEs0(Integer(Pos(Succ(vuz101000)))) -> False The set Q consists of the following terms: new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_esEs0(Integer(Neg(Succ(x0)))) new_esEs0(Integer(Pos(Succ(x0)))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_esEs0(Integer(Neg(Zero))) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(Zero, Succ(x0)) new_esEs0(Integer(Pos(Zero))) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_primModNatS01(x0, x1, Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_rem0(Integer(x0), Integer(x1)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primMinusNatS0(Zero, Zero) new_primModNatS02(x0, x1) new_primModNatS1(Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (831) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(Succ(x0)))))) at position [0,0,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(Succ(x0)))))),new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(Succ(x0))))))) ---------------------------------------- (832) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'10(False, vuz97, vuz99) -> new_gcd0Gcd'00(vuz97, new_rem0(vuz99, vuz97)) new_gcd0Gcd'00(vuz97, vuz109) -> new_gcd0Gcd'(vuz109, vuz97) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(x0, x1, x0, x1)))), Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Zero, Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(Zero))))) new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(Succ(x0)))))) The TRS R consists of the following rules: new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error new_rem0(Integer(vuz990), Integer(vuz970)) -> Integer(new_primRemInt(vuz990, vuz970)) new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_esEs0(Integer(Neg(Zero))) -> True new_primModNatS1(Zero, vuz7400) -> Zero new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error new_error -> error([]) new_esEs0(Integer(Neg(Succ(vuz101000)))) -> False new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_esEs0(Integer(Pos(Zero))) -> True new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error new_esEs0(Integer(Pos(Succ(vuz101000)))) -> False The set Q consists of the following terms: new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_esEs0(Integer(Neg(Succ(x0)))) new_esEs0(Integer(Pos(Succ(x0)))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_esEs0(Integer(Neg(Zero))) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(Zero, Succ(x0)) new_esEs0(Integer(Pos(Zero))) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_primModNatS01(x0, x1, Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_rem0(Integer(x0), Integer(x1)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primMinusNatS0(Zero, Zero) new_primModNatS02(x0, x1) new_primModNatS1(Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (833) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Zero, Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(Zero))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(Zero))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(Zero))))),new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(Zero))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(Zero)))))) ---------------------------------------- (834) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'10(False, vuz97, vuz99) -> new_gcd0Gcd'00(vuz97, new_rem0(vuz99, vuz97)) new_gcd0Gcd'00(vuz97, vuz109) -> new_gcd0Gcd'(vuz109, vuz97) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(x0, x1, x0, x1)))), Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(Zero))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error new_rem0(Integer(vuz990), Integer(vuz970)) -> Integer(new_primRemInt(vuz990, vuz970)) new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_esEs0(Integer(Neg(Zero))) -> True new_primModNatS1(Zero, vuz7400) -> Zero new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error new_error -> error([]) new_esEs0(Integer(Neg(Succ(vuz101000)))) -> False new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_esEs0(Integer(Pos(Zero))) -> True new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error new_esEs0(Integer(Pos(Succ(vuz101000)))) -> False The set Q consists of the following terms: new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_esEs0(Integer(Neg(Succ(x0)))) new_esEs0(Integer(Pos(Succ(x0)))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_esEs0(Integer(Neg(Zero))) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(Zero, Succ(x0)) new_esEs0(Integer(Pos(Zero))) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_primModNatS01(x0, x1, Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_rem0(Integer(x0), Integer(x1)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primMinusNatS0(Zero, Zero) new_primModNatS02(x0, x1) new_primModNatS1(Zero, x0) 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'10(False, vuz97, vuz99) -> new_gcd0Gcd'00(vuz97, new_rem0(vuz99, vuz97)) new_gcd0Gcd'00(vuz97, vuz109) -> new_gcd0Gcd'(vuz109, vuz97) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(x0, x1, x0, x1)))), Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(Succ(x0)))))) The TRS R consists of the following rules: new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error new_rem0(Integer(vuz990), Integer(vuz970)) -> Integer(new_primRemInt(vuz990, vuz970)) new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_esEs0(Integer(Neg(Zero))) -> True new_primModNatS1(Zero, vuz7400) -> Zero new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error new_error -> error([]) new_esEs0(Integer(Neg(Succ(vuz101000)))) -> False new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_esEs0(Integer(Pos(Zero))) -> True new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error new_esEs0(Integer(Pos(Succ(vuz101000)))) -> False The set Q consists of the following terms: new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_esEs0(Integer(Neg(Succ(x0)))) new_esEs0(Integer(Pos(Succ(x0)))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_esEs0(Integer(Neg(Zero))) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(Zero, Succ(x0)) new_esEs0(Integer(Pos(Zero))) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_primModNatS01(x0, x1, Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_rem0(Integer(x0), Integer(x1)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primMinusNatS0(Zero, Zero) new_primModNatS02(x0, x1) new_primModNatS1(Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (837) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_gcd0Gcd'(Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(x0, x1, x0, x1)))), Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) at position [0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))),new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2))))))) (new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(Succ(Succ(Zero))))), Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))),new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(Succ(Succ(Zero))))), Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero)))))) (new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS02(Zero, Zero)))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))),new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS02(Zero, Zero)))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero)))))) (new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS02(Succ(x2), Zero)))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))),new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS02(Succ(x2), Zero)))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2))))))) ---------------------------------------- (838) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'10(False, vuz97, vuz99) -> new_gcd0Gcd'00(vuz97, new_rem0(vuz99, vuz97)) new_gcd0Gcd'00(vuz97, vuz109) -> new_gcd0Gcd'(vuz109, vuz97) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(Succ(Succ(Zero))))), Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS02(Zero, Zero)))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS02(Succ(x2), Zero)))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) The TRS R consists of the following rules: new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error new_rem0(Integer(vuz990), Integer(vuz970)) -> Integer(new_primRemInt(vuz990, vuz970)) new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_esEs0(Integer(Neg(Zero))) -> True new_primModNatS1(Zero, vuz7400) -> Zero new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error new_error -> error([]) new_esEs0(Integer(Neg(Succ(vuz101000)))) -> False new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_esEs0(Integer(Pos(Zero))) -> True new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error new_esEs0(Integer(Pos(Succ(vuz101000)))) -> False The set Q consists of the following terms: new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_esEs0(Integer(Neg(Succ(x0)))) new_esEs0(Integer(Pos(Succ(x0)))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_esEs0(Integer(Neg(Zero))) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(Zero, Succ(x0)) new_esEs0(Integer(Pos(Zero))) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_primModNatS01(x0, x1, Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_rem0(Integer(x0), Integer(x1)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primMinusNatS0(Zero, Zero) new_primModNatS02(x0, x1) new_primModNatS1(Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (839) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(Succ(Succ(Zero))))), Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) at position [0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))),new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero)))))) ---------------------------------------- (840) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'10(False, vuz97, vuz99) -> new_gcd0Gcd'00(vuz97, new_rem0(vuz99, vuz97)) new_gcd0Gcd'00(vuz97, vuz109) -> new_gcd0Gcd'(vuz109, vuz97) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS02(Zero, Zero)))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS02(Succ(x2), Zero)))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error new_rem0(Integer(vuz990), Integer(vuz970)) -> Integer(new_primRemInt(vuz990, vuz970)) new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_esEs0(Integer(Neg(Zero))) -> True new_primModNatS1(Zero, vuz7400) -> Zero new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error new_error -> error([]) new_esEs0(Integer(Neg(Succ(vuz101000)))) -> False new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_esEs0(Integer(Pos(Zero))) -> True new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error new_esEs0(Integer(Pos(Succ(vuz101000)))) -> False The set Q consists of the following terms: new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_esEs0(Integer(Neg(Succ(x0)))) new_esEs0(Integer(Pos(Succ(x0)))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_esEs0(Integer(Neg(Zero))) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(Zero, Succ(x0)) new_esEs0(Integer(Pos(Zero))) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_primModNatS01(x0, x1, Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_rem0(Integer(x0), Integer(x1)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primMinusNatS0(Zero, Zero) new_primModNatS02(x0, x1) new_primModNatS1(Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (841) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS02(Zero, Zero)))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(new_primMinusNatS0(Succ(Zero), Succ(Zero)), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))),new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(new_primMinusNatS0(Succ(Zero), Succ(Zero)), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero)))))) ---------------------------------------- (842) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'10(False, vuz97, vuz99) -> new_gcd0Gcd'00(vuz97, new_rem0(vuz99, vuz97)) new_gcd0Gcd'00(vuz97, vuz109) -> new_gcd0Gcd'(vuz109, vuz97) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS02(Succ(x2), Zero)))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(new_primMinusNatS0(Succ(Zero), Succ(Zero)), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error new_rem0(Integer(vuz990), Integer(vuz970)) -> Integer(new_primRemInt(vuz990, vuz970)) new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_esEs0(Integer(Neg(Zero))) -> True new_primModNatS1(Zero, vuz7400) -> Zero new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error new_error -> error([]) new_esEs0(Integer(Neg(Succ(vuz101000)))) -> False new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_esEs0(Integer(Pos(Zero))) -> True new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error new_esEs0(Integer(Pos(Succ(vuz101000)))) -> False The set Q consists of the following terms: new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_esEs0(Integer(Neg(Succ(x0)))) new_esEs0(Integer(Pos(Succ(x0)))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_esEs0(Integer(Neg(Zero))) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(Zero, Succ(x0)) new_esEs0(Integer(Pos(Zero))) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_primModNatS01(x0, x1, Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_rem0(Integer(x0), Integer(x1)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primMinusNatS0(Zero, Zero) new_primModNatS02(x0, x1) new_primModNatS1(Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (843) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS02(Succ(x2), Zero)))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(new_primMinusNatS0(Succ(Succ(x2)), Succ(Zero)), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))),new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(new_primMinusNatS0(Succ(Succ(x2)), Succ(Zero)), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2))))))) ---------------------------------------- (844) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'10(False, vuz97, vuz99) -> new_gcd0Gcd'00(vuz97, new_rem0(vuz99, vuz97)) new_gcd0Gcd'00(vuz97, vuz109) -> new_gcd0Gcd'(vuz109, vuz97) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(new_primMinusNatS0(Succ(Zero), Succ(Zero)), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(new_primMinusNatS0(Succ(Succ(x2)), Succ(Zero)), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) The TRS R consists of the following rules: new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error new_rem0(Integer(vuz990), Integer(vuz970)) -> Integer(new_primRemInt(vuz990, vuz970)) new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_esEs0(Integer(Neg(Zero))) -> True new_primModNatS1(Zero, vuz7400) -> Zero new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error new_error -> error([]) new_esEs0(Integer(Neg(Succ(vuz101000)))) -> False new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_esEs0(Integer(Pos(Zero))) -> True new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error new_esEs0(Integer(Pos(Succ(vuz101000)))) -> False The set Q consists of the following terms: new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_esEs0(Integer(Neg(Succ(x0)))) new_esEs0(Integer(Pos(Succ(x0)))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_esEs0(Integer(Neg(Zero))) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(Zero, Succ(x0)) new_esEs0(Integer(Pos(Zero))) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_primModNatS01(x0, x1, Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_rem0(Integer(x0), Integer(x1)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primMinusNatS0(Zero, Zero) new_primModNatS02(x0, x1) new_primModNatS1(Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (845) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(new_primMinusNatS0(Succ(Zero), Succ(Zero)), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))) at position [0,0,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))),new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero)))))) ---------------------------------------- (846) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'10(False, vuz97, vuz99) -> new_gcd0Gcd'00(vuz97, new_rem0(vuz99, vuz97)) new_gcd0Gcd'00(vuz97, vuz109) -> new_gcd0Gcd'(vuz109, vuz97) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(new_primMinusNatS0(Succ(Succ(x2)), Succ(Zero)), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error new_rem0(Integer(vuz990), Integer(vuz970)) -> Integer(new_primRemInt(vuz990, vuz970)) new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_esEs0(Integer(Neg(Zero))) -> True new_primModNatS1(Zero, vuz7400) -> Zero new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error new_error -> error([]) new_esEs0(Integer(Neg(Succ(vuz101000)))) -> False new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_esEs0(Integer(Pos(Zero))) -> True new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error new_esEs0(Integer(Pos(Succ(vuz101000)))) -> False The set Q consists of the following terms: new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_esEs0(Integer(Neg(Succ(x0)))) new_esEs0(Integer(Pos(Succ(x0)))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_esEs0(Integer(Neg(Zero))) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(Zero, Succ(x0)) new_esEs0(Integer(Pos(Zero))) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_primModNatS01(x0, x1, Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_rem0(Integer(x0), Integer(x1)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primMinusNatS0(Zero, Zero) new_primModNatS02(x0, x1) new_primModNatS1(Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (847) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(new_primMinusNatS0(Succ(Succ(x2)), Succ(Zero)), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) at position [0,0,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(new_primMinusNatS0(Succ(x2), Zero), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))),new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(new_primMinusNatS0(Succ(x2), Zero), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2))))))) ---------------------------------------- (848) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'10(False, vuz97, vuz99) -> new_gcd0Gcd'00(vuz97, new_rem0(vuz99, vuz97)) new_gcd0Gcd'00(vuz97, vuz109) -> new_gcd0Gcd'(vuz109, vuz97) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(new_primMinusNatS0(Succ(x2), Zero), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) The TRS R consists of the following rules: new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error new_rem0(Integer(vuz990), Integer(vuz970)) -> Integer(new_primRemInt(vuz990, vuz970)) new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_esEs0(Integer(Neg(Zero))) -> True new_primModNatS1(Zero, vuz7400) -> Zero new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error new_error -> error([]) new_esEs0(Integer(Neg(Succ(vuz101000)))) -> False new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_esEs0(Integer(Pos(Zero))) -> True new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error new_esEs0(Integer(Pos(Succ(vuz101000)))) -> False The set Q consists of the following terms: new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_esEs0(Integer(Neg(Succ(x0)))) new_esEs0(Integer(Pos(Succ(x0)))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_esEs0(Integer(Neg(Zero))) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(Zero, Succ(x0)) new_esEs0(Integer(Pos(Zero))) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_primModNatS01(x0, x1, Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_rem0(Integer(x0), Integer(x1)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primMinusNatS0(Zero, Zero) new_primModNatS02(x0, x1) new_primModNatS1(Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (849) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))) at position [0,0,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Zero, Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))),new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Zero, Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero)))))) ---------------------------------------- (850) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'10(False, vuz97, vuz99) -> new_gcd0Gcd'00(vuz97, new_rem0(vuz99, vuz97)) new_gcd0Gcd'00(vuz97, vuz109) -> new_gcd0Gcd'(vuz109, vuz97) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(new_primMinusNatS0(Succ(x2), Zero), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Zero, Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error new_rem0(Integer(vuz990), Integer(vuz970)) -> Integer(new_primRemInt(vuz990, vuz970)) new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_esEs0(Integer(Neg(Zero))) -> True new_primModNatS1(Zero, vuz7400) -> Zero new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error new_error -> error([]) new_esEs0(Integer(Neg(Succ(vuz101000)))) -> False new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_esEs0(Integer(Pos(Zero))) -> True new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error new_esEs0(Integer(Pos(Succ(vuz101000)))) -> False The set Q consists of the following terms: new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_esEs0(Integer(Neg(Succ(x0)))) new_esEs0(Integer(Pos(Succ(x0)))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_esEs0(Integer(Neg(Zero))) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(Zero, Succ(x0)) new_esEs0(Integer(Pos(Zero))) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_primModNatS01(x0, x1, Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_rem0(Integer(x0), Integer(x1)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primMinusNatS0(Zero, Zero) new_primModNatS02(x0, x1) new_primModNatS1(Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (851) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(new_primMinusNatS0(Succ(x2), Zero), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) at position [0,0,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))),new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2))))))) ---------------------------------------- (852) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'10(False, vuz97, vuz99) -> new_gcd0Gcd'00(vuz97, new_rem0(vuz99, vuz97)) new_gcd0Gcd'00(vuz97, vuz109) -> new_gcd0Gcd'(vuz109, vuz97) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Zero, Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) The TRS R consists of the following rules: new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error new_rem0(Integer(vuz990), Integer(vuz970)) -> Integer(new_primRemInt(vuz990, vuz970)) new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_esEs0(Integer(Neg(Zero))) -> True new_primModNatS1(Zero, vuz7400) -> Zero new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error new_error -> error([]) new_esEs0(Integer(Neg(Succ(vuz101000)))) -> False new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_esEs0(Integer(Pos(Zero))) -> True new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error new_esEs0(Integer(Pos(Succ(vuz101000)))) -> False The set Q consists of the following terms: new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_esEs0(Integer(Neg(Succ(x0)))) new_esEs0(Integer(Pos(Succ(x0)))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_esEs0(Integer(Neg(Zero))) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(Zero, Succ(x0)) new_esEs0(Integer(Pos(Zero))) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_primModNatS01(x0, x1, Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_rem0(Integer(x0), Integer(x1)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primMinusNatS0(Zero, Zero) new_primModNatS02(x0, x1) new_primModNatS1(Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (853) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Zero, Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(Zero))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))),new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(Zero))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero)))))) ---------------------------------------- (854) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'10(False, vuz97, vuz99) -> new_gcd0Gcd'00(vuz97, new_rem0(vuz99, vuz97)) new_gcd0Gcd'00(vuz97, vuz109) -> new_gcd0Gcd'(vuz109, vuz97) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(Zero))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error new_rem0(Integer(vuz990), Integer(vuz970)) -> Integer(new_primRemInt(vuz990, vuz970)) new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_esEs0(Integer(Neg(Zero))) -> True new_primModNatS1(Zero, vuz7400) -> Zero new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error new_error -> error([]) new_esEs0(Integer(Neg(Succ(vuz101000)))) -> False new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_esEs0(Integer(Pos(Zero))) -> True new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error new_esEs0(Integer(Pos(Succ(vuz101000)))) -> False The set Q consists of the following terms: new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_esEs0(Integer(Neg(Succ(x0)))) new_esEs0(Integer(Pos(Succ(x0)))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_esEs0(Integer(Neg(Zero))) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(Zero, Succ(x0)) new_esEs0(Integer(Pos(Zero))) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_primModNatS01(x0, x1, Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_rem0(Integer(x0), Integer(x1)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primMinusNatS0(Zero, Zero) new_primModNatS02(x0, x1) new_primModNatS1(Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (855) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (856) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'00(vuz97, vuz109) -> new_gcd0Gcd'(vuz109, vuz97) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'10(False, vuz97, vuz99) -> new_gcd0Gcd'00(vuz97, new_rem0(vuz99, vuz97)) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) The TRS R consists of the following rules: new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error new_rem0(Integer(vuz990), Integer(vuz970)) -> Integer(new_primRemInt(vuz990, vuz970)) new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_esEs0(Integer(Neg(Zero))) -> True new_primModNatS1(Zero, vuz7400) -> Zero new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error new_error -> error([]) new_esEs0(Integer(Neg(Succ(vuz101000)))) -> False new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_esEs0(Integer(Pos(Zero))) -> True new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error new_esEs0(Integer(Pos(Succ(vuz101000)))) -> False The set Q consists of the following terms: new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_esEs0(Integer(Neg(Succ(x0)))) new_esEs0(Integer(Pos(Succ(x0)))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_esEs0(Integer(Neg(Zero))) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(Zero, Succ(x0)) new_esEs0(Integer(Pos(Zero))) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_primModNatS01(x0, x1, Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_rem0(Integer(x0), Integer(x1)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primMinusNatS0(Zero, Zero) new_primModNatS02(x0, x1) new_primModNatS1(Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (857) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) at position [0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero)))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(Zero))))),new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero)))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(Zero)))))) (new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero)))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(Succ(x0)))))),new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero)))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(Succ(x0))))))) ---------------------------------------- (858) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'00(vuz97, vuz109) -> new_gcd0Gcd'(vuz109, vuz97) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'10(False, vuz97, vuz99) -> new_gcd0Gcd'00(vuz97, new_rem0(vuz99, vuz97)) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero)))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(Zero))))) new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero)))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(Succ(x0)))))) The TRS R consists of the following rules: new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error new_rem0(Integer(vuz990), Integer(vuz970)) -> Integer(new_primRemInt(vuz990, vuz970)) new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_esEs0(Integer(Neg(Zero))) -> True new_primModNatS1(Zero, vuz7400) -> Zero new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error new_error -> error([]) new_esEs0(Integer(Neg(Succ(vuz101000)))) -> False new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_esEs0(Integer(Pos(Zero))) -> True new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error new_esEs0(Integer(Pos(Succ(vuz101000)))) -> False The set Q consists of the following terms: new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_esEs0(Integer(Neg(Succ(x0)))) new_esEs0(Integer(Pos(Succ(x0)))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_esEs0(Integer(Neg(Zero))) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(Zero, Succ(x0)) new_esEs0(Integer(Pos(Zero))) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_primModNatS01(x0, x1, Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_rem0(Integer(x0), Integer(x1)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primMinusNatS0(Zero, Zero) new_primModNatS02(x0, x1) new_primModNatS1(Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (859) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero)))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(Zero))))) at position [0,0,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Zero, Zero)))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(Zero))))),new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Zero, Zero)))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(Zero)))))) ---------------------------------------- (860) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'00(vuz97, vuz109) -> new_gcd0Gcd'(vuz109, vuz97) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'10(False, vuz97, vuz99) -> new_gcd0Gcd'00(vuz97, new_rem0(vuz99, vuz97)) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero)))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Zero, Zero)))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error new_rem0(Integer(vuz990), Integer(vuz970)) -> Integer(new_primRemInt(vuz990, vuz970)) new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_esEs0(Integer(Neg(Zero))) -> True new_primModNatS1(Zero, vuz7400) -> Zero new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error new_error -> error([]) new_esEs0(Integer(Neg(Succ(vuz101000)))) -> False new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_esEs0(Integer(Pos(Zero))) -> True new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error new_esEs0(Integer(Pos(Succ(vuz101000)))) -> False The set Q consists of the following terms: new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_esEs0(Integer(Neg(Succ(x0)))) new_esEs0(Integer(Pos(Succ(x0)))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_esEs0(Integer(Neg(Zero))) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(Zero, Succ(x0)) new_esEs0(Integer(Pos(Zero))) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_primModNatS01(x0, x1, Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_rem0(Integer(x0), Integer(x1)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primMinusNatS0(Zero, Zero) new_primModNatS02(x0, x1) new_primModNatS1(Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (861) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(new_primMinusNatS0(Succ(x0), Zero), Zero)))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(Succ(x0)))))) at position [0,0,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(Succ(x0)))))),new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(Succ(x0))))))) ---------------------------------------- (862) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'00(vuz97, vuz109) -> new_gcd0Gcd'(vuz109, vuz97) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'10(False, vuz97, vuz99) -> new_gcd0Gcd'00(vuz97, new_rem0(vuz99, vuz97)) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Zero, Zero)))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(Zero))))) new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(Succ(x0)))))) The TRS R consists of the following rules: new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error new_rem0(Integer(vuz990), Integer(vuz970)) -> Integer(new_primRemInt(vuz990, vuz970)) new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_esEs0(Integer(Neg(Zero))) -> True new_primModNatS1(Zero, vuz7400) -> Zero new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error new_error -> error([]) new_esEs0(Integer(Neg(Succ(vuz101000)))) -> False new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_esEs0(Integer(Pos(Zero))) -> True new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error new_esEs0(Integer(Pos(Succ(vuz101000)))) -> False The set Q consists of the following terms: new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_esEs0(Integer(Neg(Succ(x0)))) new_esEs0(Integer(Pos(Succ(x0)))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_esEs0(Integer(Neg(Zero))) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(Zero, Succ(x0)) new_esEs0(Integer(Pos(Zero))) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_primModNatS01(x0, x1, Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_rem0(Integer(x0), Integer(x1)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primMinusNatS0(Zero, Zero) new_primModNatS02(x0, x1) new_primModNatS1(Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (863) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Zero, Zero)))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(Zero))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(Zero))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(Zero))))),new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(Zero))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(Zero)))))) ---------------------------------------- (864) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'00(vuz97, vuz109) -> new_gcd0Gcd'(vuz109, vuz97) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'10(False, vuz97, vuz99) -> new_gcd0Gcd'00(vuz97, new_rem0(vuz99, vuz97)) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(Zero))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error new_rem0(Integer(vuz990), Integer(vuz970)) -> Integer(new_primRemInt(vuz990, vuz970)) new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_esEs0(Integer(Neg(Zero))) -> True new_primModNatS1(Zero, vuz7400) -> Zero new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error new_error -> error([]) new_esEs0(Integer(Neg(Succ(vuz101000)))) -> False new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_esEs0(Integer(Pos(Zero))) -> True new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error new_esEs0(Integer(Pos(Succ(vuz101000)))) -> False The set Q consists of the following terms: new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_esEs0(Integer(Neg(Succ(x0)))) new_esEs0(Integer(Pos(Succ(x0)))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_esEs0(Integer(Neg(Zero))) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(Zero, Succ(x0)) new_esEs0(Integer(Pos(Zero))) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_primModNatS01(x0, x1, Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_rem0(Integer(x0), Integer(x1)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primMinusNatS0(Zero, Zero) new_primModNatS02(x0, x1) new_primModNatS1(Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (865) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (866) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'10(False, vuz97, vuz99) -> new_gcd0Gcd'00(vuz97, new_rem0(vuz99, vuz97)) new_gcd0Gcd'00(vuz97, vuz109) -> new_gcd0Gcd'(vuz109, vuz97) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(Succ(x0)))))) The TRS R consists of the following rules: new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error new_rem0(Integer(vuz990), Integer(vuz970)) -> Integer(new_primRemInt(vuz990, vuz970)) new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_esEs0(Integer(Neg(Zero))) -> True new_primModNatS1(Zero, vuz7400) -> Zero new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error new_error -> error([]) new_esEs0(Integer(Neg(Succ(vuz101000)))) -> False new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_esEs0(Integer(Pos(Zero))) -> True new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error new_esEs0(Integer(Pos(Succ(vuz101000)))) -> False The set Q consists of the following terms: new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_esEs0(Integer(Neg(Succ(x0)))) new_esEs0(Integer(Pos(Succ(x0)))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_esEs0(Integer(Neg(Zero))) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(Zero, Succ(x0)) new_esEs0(Integer(Pos(Zero))) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_primModNatS01(x0, x1, Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_rem0(Integer(x0), Integer(x1)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primMinusNatS0(Zero, Zero) new_primModNatS02(x0, x1) new_primModNatS1(Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (867) QDPOrderProof (EQUIVALENT) We use the reduction pair processor [LPAR04,JAR06]. The following pairs can be oriented strictly and are deleted. new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) The remaining pairs can at least be oriented weakly. Used ordering: Polynomial interpretation [POLO]: POL(False) = 1 POL(Integer(x_1)) = x_1 POL(Neg(x_1)) = 1 POL(Pos(x_1)) = x_1 POL(Succ(x_1)) = 1 POL(True) = 0 POL(Zero) = 0 POL([]) = 1 POL(error(x_1)) = 1 + x_1 POL(new_error) = 1 POL(new_esEs0(x_1)) = x_1 POL(new_gcd0Gcd'(x_1, x_2)) = 1 + x_2 POL(new_gcd0Gcd'00(x_1, x_2)) = 1 + x_1 POL(new_gcd0Gcd'10(x_1, x_2, x_3)) = x_1 + x_2 POL(new_primMinusNatS0(x_1, x_2)) = 0 POL(new_primModNatS01(x_1, x_2, x_3, x_4)) = 1 POL(new_primModNatS02(x_1, x_2)) = 1 POL(new_primModNatS1(x_1, x_2)) = x_2 POL(new_primRemInt(x_1, x_2)) = 0 POL(new_rem0(x_1, x_2)) = x_1 The following usable rules [FROCOS05] with respect to the argument filtering of the ordering [JAR06] were oriented: new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) new_esEs0(Integer(Pos(Zero))) -> True new_esEs0(Integer(Pos(Succ(vuz101000)))) -> False new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_esEs0(Integer(Neg(Zero))) -> True new_esEs0(Integer(Neg(Succ(vuz101000)))) -> False new_primModNatS1(Zero, vuz7400) -> Zero ---------------------------------------- (868) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'10(False, vuz97, vuz99) -> new_gcd0Gcd'00(vuz97, new_rem0(vuz99, vuz97)) new_gcd0Gcd'00(vuz97, vuz109) -> new_gcd0Gcd'(vuz109, vuz97) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(Succ(x0)))))) The TRS R consists of the following rules: new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error new_rem0(Integer(vuz990), Integer(vuz970)) -> Integer(new_primRemInt(vuz990, vuz970)) new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_esEs0(Integer(Neg(Zero))) -> True new_primModNatS1(Zero, vuz7400) -> Zero new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error new_error -> error([]) new_esEs0(Integer(Neg(Succ(vuz101000)))) -> False new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_esEs0(Integer(Pos(Zero))) -> True new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error new_esEs0(Integer(Pos(Succ(vuz101000)))) -> False The set Q consists of the following terms: new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_esEs0(Integer(Neg(Succ(x0)))) new_esEs0(Integer(Pos(Succ(x0)))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_esEs0(Integer(Neg(Zero))) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(Zero, Succ(x0)) new_esEs0(Integer(Pos(Zero))) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_primModNatS01(x0, x1, Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_rem0(Integer(x0), Integer(x1)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primMinusNatS0(Zero, Zero) new_primModNatS02(x0, x1) new_primModNatS1(Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (869) QDPOrderProof (EQUIVALENT) We use the reduction pair processor [LPAR04,JAR06]. The following pairs can be oriented strictly and are deleted. new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(Succ(x0)))))) The remaining pairs can at least be oriented weakly. Used ordering: Polynomial interpretation [POLO]: POL(False) = 1 POL(Integer(x_1)) = x_1 POL(Neg(x_1)) = x_1 POL(Pos(x_1)) = x_1 POL(Succ(x_1)) = 1 POL(True) = 0 POL(Zero) = 0 POL([]) = 1 POL(error(x_1)) = 1 + x_1 POL(new_error) = 1 POL(new_esEs0(x_1)) = x_1 POL(new_gcd0Gcd'(x_1, x_2)) = 1 POL(new_gcd0Gcd'00(x_1, x_2)) = 1 POL(new_gcd0Gcd'10(x_1, x_2, x_3)) = x_1 POL(new_primMinusNatS0(x_1, x_2)) = 0 POL(new_primModNatS01(x_1, x_2, x_3, x_4)) = 1 POL(new_primModNatS02(x_1, x_2)) = 1 POL(new_primModNatS1(x_1, x_2)) = x_2 POL(new_primRemInt(x_1, x_2)) = 0 POL(new_rem0(x_1, x_2)) = x_1 The following usable rules [FROCOS05] with respect to the argument filtering of the ordering [JAR06] were oriented: new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) new_esEs0(Integer(Pos(Zero))) -> True new_esEs0(Integer(Pos(Succ(vuz101000)))) -> False new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_esEs0(Integer(Neg(Zero))) -> True new_esEs0(Integer(Neg(Succ(vuz101000)))) -> False new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primModNatS1(Zero, vuz7400) -> Zero ---------------------------------------- (870) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'10(False, vuz97, vuz99) -> new_gcd0Gcd'00(vuz97, new_rem0(vuz99, vuz97)) new_gcd0Gcd'00(vuz97, vuz109) -> new_gcd0Gcd'(vuz109, vuz97) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) The TRS R consists of the following rules: new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error new_rem0(Integer(vuz990), Integer(vuz970)) -> Integer(new_primRemInt(vuz990, vuz970)) new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_esEs0(Integer(Neg(Zero))) -> True new_primModNatS1(Zero, vuz7400) -> Zero new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error new_error -> error([]) new_esEs0(Integer(Neg(Succ(vuz101000)))) -> False new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_esEs0(Integer(Pos(Zero))) -> True new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error new_esEs0(Integer(Pos(Succ(vuz101000)))) -> False The set Q consists of the following terms: new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_esEs0(Integer(Neg(Succ(x0)))) new_esEs0(Integer(Pos(Succ(x0)))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_esEs0(Integer(Neg(Zero))) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(Zero, Succ(x0)) new_esEs0(Integer(Pos(Zero))) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_primModNatS01(x0, x1, Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_rem0(Integer(x0), Integer(x1)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primMinusNatS0(Zero, Zero) new_primModNatS02(x0, x1) new_primModNatS1(Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (871) MNOCProof (EQUIVALENT) We use the modular non-overlap check [FROCOS05] to decrease Q to the empty set. ---------------------------------------- (872) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'10(False, vuz97, vuz99) -> new_gcd0Gcd'00(vuz97, new_rem0(vuz99, vuz97)) new_gcd0Gcd'00(vuz97, vuz109) -> new_gcd0Gcd'(vuz109, vuz97) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) The TRS R consists of the following rules: new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error new_rem0(Integer(vuz990), Integer(vuz970)) -> Integer(new_primRemInt(vuz990, vuz970)) new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_esEs0(Integer(Neg(Zero))) -> True new_primModNatS1(Zero, vuz7400) -> Zero new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error new_error -> error([]) new_esEs0(Integer(Neg(Succ(vuz101000)))) -> False new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_esEs0(Integer(Pos(Zero))) -> True new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error new_esEs0(Integer(Pos(Succ(vuz101000)))) -> False Q is empty. We have to consider all (P,Q,R)-chains. ---------------------------------------- (873) InductionCalculusProof (EQUIVALENT) Note that final constraints are written in bold face. For Pair new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) the following chains were created: *We consider the chain new_gcd0Gcd'(Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Zero)))), new_gcd0Gcd'10(False, x2, x3) -> new_gcd0Gcd'00(x2, new_rem0(x3, x2)) which results in the following constraint: (1) (new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Zero))))=new_gcd0Gcd'10(False, x2, x3) ==> new_gcd0Gcd'(Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Zero))))_>=_new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Zero))))) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (new_gcd0Gcd'(Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Zero))))_>=_new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Zero))))) For Pair new_gcd0Gcd'10(False, vuz97, vuz99) -> new_gcd0Gcd'00(vuz97, new_rem0(vuz99, vuz97)) the following chains were created: *We consider the chain new_gcd0Gcd'10(False, x24, x25) -> new_gcd0Gcd'00(x24, new_rem0(x25, x24)), new_gcd0Gcd'00(x26, x27) -> new_gcd0Gcd'(x27, x26) which results in the following constraint: (1) (new_gcd0Gcd'00(x24, new_rem0(x25, x24))=new_gcd0Gcd'00(x26, x27) ==> new_gcd0Gcd'10(False, x24, x25)_>=_new_gcd0Gcd'00(x24, new_rem0(x25, x24))) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (new_gcd0Gcd'10(False, x24, x25)_>=_new_gcd0Gcd'00(x24, new_rem0(x25, x24))) For Pair new_gcd0Gcd'00(vuz97, vuz109) -> new_gcd0Gcd'(vuz109, vuz97) the following chains were created: *We consider the chain new_gcd0Gcd'00(x58, x59) -> new_gcd0Gcd'(x59, x58), new_gcd0Gcd'(Integer(Neg(Succ(Succ(x60)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(x60)))), Integer(Pos(Succ(Zero)))) which results in the following constraint: (1) (new_gcd0Gcd'(x59, x58)=new_gcd0Gcd'(Integer(Neg(Succ(Succ(x60)))), Integer(Pos(Succ(Zero)))) ==> new_gcd0Gcd'00(x58, x59)_>=_new_gcd0Gcd'(x59, x58)) We simplified constraint (1) using rules (I), (II), (III) which results in the following new constraint: (2) (new_gcd0Gcd'00(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x60)))))_>=_new_gcd0Gcd'(Integer(Neg(Succ(Succ(x60)))), Integer(Pos(Succ(Zero))))) *We consider the chain new_gcd0Gcd'00(x65, x66) -> new_gcd0Gcd'(x66, x65), new_gcd0Gcd'(Integer(Pos(Succ(Succ(x67)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(x67)))), Integer(Pos(Succ(Zero)))) which results in the following constraint: (1) (new_gcd0Gcd'(x66, x65)=new_gcd0Gcd'(Integer(Pos(Succ(Succ(x67)))), Integer(Pos(Succ(Zero)))) ==> new_gcd0Gcd'00(x65, x66)_>=_new_gcd0Gcd'(x66, x65)) We simplified constraint (1) using rules (I), (II), (III) which results in the following new constraint: (2) (new_gcd0Gcd'00(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x67)))))_>=_new_gcd0Gcd'(Integer(Pos(Succ(Succ(x67)))), Integer(Pos(Succ(Zero))))) *We consider the chain new_gcd0Gcd'00(x68, x69) -> new_gcd0Gcd'(x69, x68), new_gcd0Gcd'(Integer(Pos(Succ(Succ(x70)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(x70)))), Integer(Neg(Succ(Zero)))) which results in the following constraint: (1) (new_gcd0Gcd'(x69, x68)=new_gcd0Gcd'(Integer(Pos(Succ(Succ(x70)))), Integer(Neg(Succ(Zero)))) ==> new_gcd0Gcd'00(x68, x69)_>=_new_gcd0Gcd'(x69, x68)) We simplified constraint (1) using rules (I), (II), (III) which results in the following new constraint: (2) (new_gcd0Gcd'00(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x70)))))_>=_new_gcd0Gcd'(Integer(Pos(Succ(Succ(x70)))), Integer(Neg(Succ(Zero))))) *We consider the chain new_gcd0Gcd'00(x71, x72) -> new_gcd0Gcd'(x72, x71), new_gcd0Gcd'(Integer(Neg(Succ(Succ(x73)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(x73)))), Integer(Neg(Succ(Zero)))) which results in the following constraint: (1) (new_gcd0Gcd'(x72, x71)=new_gcd0Gcd'(Integer(Neg(Succ(Succ(x73)))), Integer(Neg(Succ(Zero)))) ==> new_gcd0Gcd'00(x71, x72)_>=_new_gcd0Gcd'(x72, x71)) We simplified constraint (1) using rules (I), (II), (III) which results in the following new constraint: (2) (new_gcd0Gcd'00(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x73)))))_>=_new_gcd0Gcd'(Integer(Neg(Succ(Succ(x73)))), Integer(Neg(Succ(Zero))))) *We consider the chain new_gcd0Gcd'00(x74, x75) -> new_gcd0Gcd'(x75, x74), new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x76))))), Integer(Pos(Succ(Succ(Succ(x77)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(x77), Succ(x76), x77, x76)))), Integer(Neg(Succ(Succ(Succ(x76))))), Integer(Pos(Succ(Succ(Succ(x77)))))) which results in the following constraint: (1) (new_gcd0Gcd'(x75, x74)=new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x76))))), Integer(Pos(Succ(Succ(Succ(x77)))))) ==> new_gcd0Gcd'00(x74, x75)_>=_new_gcd0Gcd'(x75, x74)) We simplified constraint (1) using rules (I), (II), (III) which results in the following new constraint: (2) (new_gcd0Gcd'00(Integer(Pos(Succ(Succ(Succ(x77))))), Integer(Neg(Succ(Succ(Succ(x76))))))_>=_new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x76))))), Integer(Pos(Succ(Succ(Succ(x77))))))) *We consider the chain new_gcd0Gcd'00(x78, x79) -> new_gcd0Gcd'(x79, x78), new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x80))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(Succ(x80))))), Integer(Pos(Succ(Succ(Zero))))) which results in the following constraint: (1) (new_gcd0Gcd'(x79, x78)=new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x80))))), Integer(Pos(Succ(Succ(Zero))))) ==> new_gcd0Gcd'00(x78, x79)_>=_new_gcd0Gcd'(x79, x78)) We simplified constraint (1) using rules (I), (II), (III) which results in the following new constraint: (2) (new_gcd0Gcd'00(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x80))))))_>=_new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x80))))), Integer(Pos(Succ(Succ(Zero)))))) *We consider the chain new_gcd0Gcd'00(x81, x82) -> new_gcd0Gcd'(x82, x81), new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x83)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x83), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x83)))))) which results in the following constraint: (1) (new_gcd0Gcd'(x82, x81)=new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x83)))))) ==> new_gcd0Gcd'00(x81, x82)_>=_new_gcd0Gcd'(x82, x81)) We simplified constraint (1) using rules (I), (II), (III) which results in the following new constraint: (2) (new_gcd0Gcd'00(Integer(Pos(Succ(Succ(Succ(x83))))), Integer(Neg(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x83))))))) *We consider the chain new_gcd0Gcd'00(x84, x85) -> new_gcd0Gcd'(x85, x84), new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x86))))), Integer(Pos(Succ(Succ(Succ(x87)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(x87), Succ(x86), x87, x86)))), Integer(Pos(Succ(Succ(Succ(x86))))), Integer(Pos(Succ(Succ(Succ(x87)))))) which results in the following constraint: (1) (new_gcd0Gcd'(x85, x84)=new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x86))))), Integer(Pos(Succ(Succ(Succ(x87)))))) ==> new_gcd0Gcd'00(x84, x85)_>=_new_gcd0Gcd'(x85, x84)) We simplified constraint (1) using rules (I), (II), (III) which results in the following new constraint: (2) (new_gcd0Gcd'00(Integer(Pos(Succ(Succ(Succ(x87))))), Integer(Pos(Succ(Succ(Succ(x86))))))_>=_new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x86))))), Integer(Pos(Succ(Succ(Succ(x87))))))) *We consider the chain new_gcd0Gcd'00(x88, x89) -> new_gcd0Gcd'(x89, x88), new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x90))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(Succ(x90))))), Integer(Pos(Succ(Succ(Zero))))) which results in the following constraint: (1) (new_gcd0Gcd'(x89, x88)=new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x90))))), Integer(Pos(Succ(Succ(Zero))))) ==> new_gcd0Gcd'00(x88, x89)_>=_new_gcd0Gcd'(x89, x88)) We simplified constraint (1) using rules (I), (II), (III) which results in the following new constraint: (2) (new_gcd0Gcd'00(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x90))))))_>=_new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x90))))), Integer(Pos(Succ(Succ(Zero)))))) *We consider the chain new_gcd0Gcd'00(x91, x92) -> new_gcd0Gcd'(x92, x91), new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x93)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x93), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x93)))))) which results in the following constraint: (1) (new_gcd0Gcd'(x92, x91)=new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x93)))))) ==> new_gcd0Gcd'00(x91, x92)_>=_new_gcd0Gcd'(x92, x91)) We simplified constraint (1) using rules (I), (II), (III) which results in the following new constraint: (2) (new_gcd0Gcd'00(Integer(Pos(Succ(Succ(Succ(x93))))), Integer(Pos(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x93))))))) *We consider the chain new_gcd0Gcd'00(x94, x95) -> new_gcd0Gcd'(x95, x94), new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x96))))), Integer(Neg(Succ(Succ(Succ(x97)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(Succ(x97), Succ(x96), x97, x96)))), Integer(Pos(Succ(Succ(Succ(x96))))), Integer(Neg(Succ(Succ(Succ(x97)))))) which results in the following constraint: (1) (new_gcd0Gcd'(x95, x94)=new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x96))))), Integer(Neg(Succ(Succ(Succ(x97)))))) ==> new_gcd0Gcd'00(x94, x95)_>=_new_gcd0Gcd'(x95, x94)) We simplified constraint (1) using rules (I), (II), (III) which results in the following new constraint: (2) (new_gcd0Gcd'00(Integer(Neg(Succ(Succ(Succ(x97))))), Integer(Pos(Succ(Succ(Succ(x96))))))_>=_new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x96))))), Integer(Neg(Succ(Succ(Succ(x97))))))) *We consider the chain new_gcd0Gcd'00(x98, x99) -> new_gcd0Gcd'(x99, x98), new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x100))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(Succ(x100))))), Integer(Neg(Succ(Succ(Zero))))) which results in the following constraint: (1) (new_gcd0Gcd'(x99, x98)=new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x100))))), Integer(Neg(Succ(Succ(Zero))))) ==> new_gcd0Gcd'00(x98, x99)_>=_new_gcd0Gcd'(x99, x98)) We simplified constraint (1) using rules (I), (II), (III) which results in the following new constraint: (2) (new_gcd0Gcd'00(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x100))))))_>=_new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x100))))), Integer(Neg(Succ(Succ(Zero)))))) *We consider the chain new_gcd0Gcd'00(x101, x102) -> new_gcd0Gcd'(x102, x101), new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x103)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x103), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x103)))))) which results in the following constraint: (1) (new_gcd0Gcd'(x102, x101)=new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x103)))))) ==> new_gcd0Gcd'00(x101, x102)_>=_new_gcd0Gcd'(x102, x101)) We simplified constraint (1) using rules (I), (II), (III) which results in the following new constraint: (2) (new_gcd0Gcd'00(Integer(Neg(Succ(Succ(Succ(x103))))), Integer(Pos(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x103))))))) *We consider the chain new_gcd0Gcd'00(x104, x105) -> new_gcd0Gcd'(x105, x104), new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x106))))), Integer(Neg(Succ(Succ(Succ(x107)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(Succ(x107), Succ(x106), x107, x106)))), Integer(Neg(Succ(Succ(Succ(x106))))), Integer(Neg(Succ(Succ(Succ(x107)))))) which results in the following constraint: (1) (new_gcd0Gcd'(x105, x104)=new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x106))))), Integer(Neg(Succ(Succ(Succ(x107)))))) ==> new_gcd0Gcd'00(x104, x105)_>=_new_gcd0Gcd'(x105, x104)) We simplified constraint (1) using rules (I), (II), (III) which results in the following new constraint: (2) (new_gcd0Gcd'00(Integer(Neg(Succ(Succ(Succ(x107))))), Integer(Neg(Succ(Succ(Succ(x106))))))_>=_new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x106))))), Integer(Neg(Succ(Succ(Succ(x107))))))) *We consider the chain new_gcd0Gcd'00(x108, x109) -> new_gcd0Gcd'(x109, x108), new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x110))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(Succ(x110))))), Integer(Neg(Succ(Succ(Zero))))) which results in the following constraint: (1) (new_gcd0Gcd'(x109, x108)=new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x110))))), Integer(Neg(Succ(Succ(Zero))))) ==> new_gcd0Gcd'00(x108, x109)_>=_new_gcd0Gcd'(x109, x108)) We simplified constraint (1) using rules (I), (II), (III) which results in the following new constraint: (2) (new_gcd0Gcd'00(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x110))))))_>=_new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x110))))), Integer(Neg(Succ(Succ(Zero)))))) *We consider the chain new_gcd0Gcd'00(x111, x112) -> new_gcd0Gcd'(x112, x111), new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x113)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x113), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x113)))))) which results in the following constraint: (1) (new_gcd0Gcd'(x112, x111)=new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x113)))))) ==> new_gcd0Gcd'00(x111, x112)_>=_new_gcd0Gcd'(x112, x111)) We simplified constraint (1) using rules (I), (II), (III) which results in the following new constraint: (2) (new_gcd0Gcd'00(Integer(Neg(Succ(Succ(Succ(x113))))), Integer(Neg(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x113))))))) For Pair new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) the following chains were created: *We consider the chain new_gcd0Gcd'(Integer(Pos(Succ(Succ(x115)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(x115)))), Integer(Pos(Succ(Zero)))), new_gcd0Gcd'10(False, x116, x117) -> new_gcd0Gcd'00(x116, new_rem0(x117, x116)) which results in the following constraint: (1) (new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(x115)))), Integer(Pos(Succ(Zero))))=new_gcd0Gcd'10(False, x116, x117) ==> new_gcd0Gcd'(Integer(Pos(Succ(Succ(x115)))), Integer(Pos(Succ(Zero))))_>=_new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(x115)))), Integer(Pos(Succ(Zero))))) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (new_gcd0Gcd'(Integer(Pos(Succ(Succ(x115)))), Integer(Pos(Succ(Zero))))_>=_new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(x115)))), Integer(Pos(Succ(Zero))))) For Pair new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) the following chains were created: *We consider the chain new_gcd0Gcd'(Integer(Pos(Succ(Succ(x135)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(x135)))), Integer(Neg(Succ(Zero)))), new_gcd0Gcd'10(False, x136, x137) -> new_gcd0Gcd'00(x136, new_rem0(x137, x136)) which results in the following constraint: (1) (new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(x135)))), Integer(Neg(Succ(Zero))))=new_gcd0Gcd'10(False, x136, x137) ==> new_gcd0Gcd'(Integer(Pos(Succ(Succ(x135)))), Integer(Neg(Succ(Zero))))_>=_new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(x135)))), Integer(Neg(Succ(Zero))))) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (new_gcd0Gcd'(Integer(Pos(Succ(Succ(x135)))), Integer(Neg(Succ(Zero))))_>=_new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(x135)))), Integer(Neg(Succ(Zero))))) For Pair new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) the following chains were created: *We consider the chain new_gcd0Gcd'(Integer(Neg(Succ(Succ(x155)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(x155)))), Integer(Neg(Succ(Zero)))), new_gcd0Gcd'10(False, x156, x157) -> new_gcd0Gcd'00(x156, new_rem0(x157, x156)) which results in the following constraint: (1) (new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(x155)))), Integer(Neg(Succ(Zero))))=new_gcd0Gcd'10(False, x156, x157) ==> new_gcd0Gcd'(Integer(Neg(Succ(Succ(x155)))), Integer(Neg(Succ(Zero))))_>=_new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(x155)))), Integer(Neg(Succ(Zero))))) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (new_gcd0Gcd'(Integer(Neg(Succ(Succ(x155)))), Integer(Neg(Succ(Zero))))_>=_new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(x155)))), Integer(Neg(Succ(Zero))))) For Pair new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) the following chains were created: *We consider the chain new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x176))))), Integer(Pos(Succ(Succ(Succ(x177)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(x177), Succ(x176), x177, x176)))), Integer(Neg(Succ(Succ(Succ(x176))))), Integer(Pos(Succ(Succ(Succ(x177)))))), new_gcd0Gcd'10(False, x178, x179) -> new_gcd0Gcd'00(x178, new_rem0(x179, x178)) which results in the following constraint: (1) (new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(x177), Succ(x176), x177, x176)))), Integer(Neg(Succ(Succ(Succ(x176))))), Integer(Pos(Succ(Succ(Succ(x177))))))=new_gcd0Gcd'10(False, x178, x179) ==> new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x176))))), Integer(Pos(Succ(Succ(Succ(x177))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(x177), Succ(x176), x177, x176)))), Integer(Neg(Succ(Succ(Succ(x176))))), Integer(Pos(Succ(Succ(Succ(x177))))))) We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: (2) (Integer(Pos(new_primModNatS01(Succ(x177), Succ(x176), x177, x176)))=x486 & new_esEs0(x486)=False ==> new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x176))))), Integer(Pos(Succ(Succ(Succ(x177))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(x177), Succ(x176), x177, x176)))), Integer(Neg(Succ(Succ(Succ(x176))))), Integer(Pos(Succ(Succ(Succ(x177))))))) We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_esEs0(x486)=False which results in the following new constraints: (3) (False=False & Integer(Pos(new_primModNatS01(Succ(x177), Succ(x176), x177, x176)))=Integer(Neg(Succ(x487))) ==> new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x176))))), Integer(Pos(Succ(Succ(Succ(x177))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(x177), Succ(x176), x177, x176)))), Integer(Neg(Succ(Succ(Succ(x176))))), Integer(Pos(Succ(Succ(Succ(x177))))))) (4) (False=False & Integer(Pos(new_primModNatS01(Succ(x177), Succ(x176), x177, x176)))=Integer(Pos(Succ(x488))) ==> new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x176))))), Integer(Pos(Succ(Succ(Succ(x177))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(x177), Succ(x176), x177, x176)))), Integer(Neg(Succ(Succ(Succ(x176))))), Integer(Pos(Succ(Succ(Succ(x177))))))) 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(x177)=x489 & Succ(x176)=x490 & new_primModNatS01(x489, x490, x177, x176)=Succ(x488) ==> new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x176))))), Integer(Pos(Succ(Succ(Succ(x177))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(x177), Succ(x176), x177, x176)))), Integer(Neg(Succ(Succ(Succ(x176))))), Integer(Pos(Succ(Succ(Succ(x177))))))) We simplified constraint (5) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x489, x490, x177, x176)=Succ(x488) which results in the following new constraints: (6) (new_primModNatS01(x494, x493, x492, x491)=Succ(x488) & Succ(Succ(x492))=x494 & Succ(Succ(x491))=x493 & (\/x495:new_primModNatS01(x494, x493, x492, x491)=Succ(x495) & Succ(x492)=x494 & Succ(x491)=x493 ==> new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x491))))), Integer(Pos(Succ(Succ(Succ(x492))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(x492), Succ(x491), x492, x491)))), Integer(Neg(Succ(Succ(Succ(x491))))), Integer(Pos(Succ(Succ(Succ(x492))))))) ==> new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(Succ(x491)))))), Integer(Pos(Succ(Succ(Succ(Succ(x492)))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(Succ(x492)), Succ(Succ(x491)), Succ(x492), Succ(x491))))), Integer(Neg(Succ(Succ(Succ(Succ(x491)))))), Integer(Pos(Succ(Succ(Succ(Succ(x492)))))))) (7) (Succ(Succ(x498))=Succ(x488) & Succ(Zero)=x498 & Succ(Succ(x496))=x497 ==> new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(Succ(x496)))))), Integer(Pos(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(Zero), Succ(Succ(x496)), Zero, Succ(x496))))), Integer(Neg(Succ(Succ(Succ(Succ(x496)))))), Integer(Pos(Succ(Succ(Succ(Zero))))))) (8) (new_primModNatS02(x500, x499)=Succ(x488) & Succ(Zero)=x500 & Succ(Zero)=x499 ==> new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(Zero))))), Integer(Pos(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(Zero), Succ(Zero), Zero, Zero)))), Integer(Neg(Succ(Succ(Succ(Zero))))), Integer(Pos(Succ(Succ(Succ(Zero))))))) (9) (new_primModNatS02(x503, x502)=Succ(x488) & Succ(Succ(x501))=x503 & Succ(Zero)=x502 ==> new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(Zero))))), Integer(Pos(Succ(Succ(Succ(Succ(x501)))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(Succ(x501)), Succ(Zero), Succ(x501), Zero)))), Integer(Neg(Succ(Succ(Succ(Zero))))), Integer(Pos(Succ(Succ(Succ(Succ(x501)))))))) We simplified constraint (6) using rule (IV) which results in the following new constraint: (10) (new_primModNatS01(x494, x493, x492, x491)=Succ(x488) & Succ(Succ(x492))=x494 & Succ(Succ(x491))=x493 ==> new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(Succ(x491)))))), Integer(Pos(Succ(Succ(Succ(Succ(x492)))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(Succ(x492)), Succ(Succ(x491)), Succ(x492), Succ(x491))))), Integer(Neg(Succ(Succ(Succ(Succ(x491)))))), Integer(Pos(Succ(Succ(Succ(Succ(x492)))))))) We simplified constraint (7) using rules (I), (II), (IV) which results in the following new constraint: (11) (new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(Succ(x496)))))), Integer(Pos(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(Zero), Succ(Succ(x496)), Zero, Succ(x496))))), Integer(Neg(Succ(Succ(Succ(Succ(x496)))))), Integer(Pos(Succ(Succ(Succ(Zero))))))) We simplified constraint (8) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x500, x499)=Succ(x488) which results in the following new constraint: (12) (new_primModNatS1(new_primMinusNatS0(Succ(x518), Succ(x517)), Succ(x517))=Succ(x488) & Succ(Zero)=x518 & Succ(Zero)=x517 ==> new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(Zero))))), Integer(Pos(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(Zero), Succ(Zero), Zero, Zero)))), Integer(Neg(Succ(Succ(Succ(Zero))))), Integer(Pos(Succ(Succ(Succ(Zero))))))) We simplified constraint (9) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x503, x502)=Succ(x488) which results in the following new constraint: (13) (new_primModNatS1(new_primMinusNatS0(Succ(x524), Succ(x523)), Succ(x523))=Succ(x488) & Succ(Succ(x501))=x524 & Succ(Zero)=x523 ==> new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(Zero))))), Integer(Pos(Succ(Succ(Succ(Succ(x501)))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(Succ(x501)), Succ(Zero), Succ(x501), Zero)))), Integer(Neg(Succ(Succ(Succ(Zero))))), Integer(Pos(Succ(Succ(Succ(Succ(x501)))))))) We simplified constraint (10) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x494, x493, x492, x491)=Succ(x488) which results in the following new constraints: (14) (new_primModNatS01(x507, x506, x505, x504)=Succ(x488) & Succ(Succ(Succ(x505)))=x507 & Succ(Succ(Succ(x504)))=x506 & (\/x508:new_primModNatS01(x507, x506, x505, x504)=Succ(x508) & Succ(Succ(x505))=x507 & Succ(Succ(x504))=x506 ==> new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(Succ(x504)))))), Integer(Pos(Succ(Succ(Succ(Succ(x505)))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(Succ(x505)), Succ(Succ(x504)), Succ(x505), Succ(x504))))), Integer(Neg(Succ(Succ(Succ(Succ(x504)))))), Integer(Pos(Succ(Succ(Succ(Succ(x505)))))))) ==> new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(Succ(Succ(x504))))))), Integer(Pos(Succ(Succ(Succ(Succ(Succ(x505))))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(Succ(Succ(x505))), Succ(Succ(Succ(x504))), Succ(Succ(x505)), Succ(Succ(x504)))))), Integer(Neg(Succ(Succ(Succ(Succ(Succ(x504))))))), Integer(Pos(Succ(Succ(Succ(Succ(Succ(x505))))))))) (15) (Succ(Succ(x511))=Succ(x488) & Succ(Succ(Zero))=x511 & Succ(Succ(Succ(x509)))=x510 ==> new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(Succ(Succ(x509))))))), Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Succ(x509))), Succ(Zero), Succ(Succ(x509)))))), Integer(Neg(Succ(Succ(Succ(Succ(Succ(x509))))))), Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))))) (16) (new_primModNatS02(x513, x512)=Succ(x488) & Succ(Succ(Zero))=x513 & Succ(Succ(Zero))=x512 ==> new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))), Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Zero)), Succ(Zero), Succ(Zero))))), Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))), Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))))) (17) (new_primModNatS02(x516, x515)=Succ(x488) & Succ(Succ(Succ(x514)))=x516 & Succ(Succ(Zero))=x515 ==> new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))), Integer(Pos(Succ(Succ(Succ(Succ(Succ(x514))))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(Succ(Succ(x514))), Succ(Succ(Zero)), Succ(Succ(x514)), Succ(Zero))))), Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))), Integer(Pos(Succ(Succ(Succ(Succ(Succ(x514))))))))) We simplified constraint (14) using rules (III), (IV) which results in the following new constraint: (18) (new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(Succ(Succ(x504))))))), Integer(Pos(Succ(Succ(Succ(Succ(Succ(x505))))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(Succ(Succ(x505))), Succ(Succ(Succ(x504))), Succ(Succ(x505)), Succ(Succ(x504)))))), Integer(Neg(Succ(Succ(Succ(Succ(Succ(x504))))))), Integer(Pos(Succ(Succ(Succ(Succ(Succ(x505))))))))) We simplified constraint (15) using rules (I), (II), (IV) which results in the following new constraint: (19) (new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(Succ(Succ(x509))))))), Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Succ(x509))), Succ(Zero), Succ(Succ(x509)))))), Integer(Neg(Succ(Succ(Succ(Succ(Succ(x509))))))), Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))))) We simplified constraint (16) using rules (III), (IV) which results in the following new constraint: (20) (new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))), Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Zero)), Succ(Zero), Succ(Zero))))), Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))), Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))))) We simplified constraint (17) using rules (III), (IV) which results in the following new constraint: (21) (new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))), Integer(Pos(Succ(Succ(Succ(Succ(Succ(x514))))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(Succ(Succ(x514))), Succ(Succ(Zero)), Succ(Succ(x514)), Succ(Zero))))), Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))), Integer(Pos(Succ(Succ(Succ(Succ(Succ(x514))))))))) We simplified constraint (12) using rules (III), (IV), (VII) which results in the following new constraint: (22) (new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(Zero))))), Integer(Pos(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(Zero), Succ(Zero), Zero, Zero)))), Integer(Neg(Succ(Succ(Succ(Zero))))), Integer(Pos(Succ(Succ(Succ(Zero))))))) We simplified constraint (13) using rules (III), (IV), (VII) which results in the following new constraint: (23) (new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(Zero))))), Integer(Pos(Succ(Succ(Succ(Succ(x501)))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(Succ(x501)), Succ(Zero), Succ(x501), Zero)))), Integer(Neg(Succ(Succ(Succ(Zero))))), Integer(Pos(Succ(Succ(Succ(Succ(x501)))))))) For Pair new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) the following chains were created: *We consider the chain new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x213))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(Succ(x213))))), Integer(Pos(Succ(Succ(Zero))))), new_gcd0Gcd'10(False, x214, x215) -> new_gcd0Gcd'00(x214, new_rem0(x215, x214)) which results in the following constraint: (1) (new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(Succ(x213))))), Integer(Pos(Succ(Succ(Zero)))))=new_gcd0Gcd'10(False, x214, x215) ==> new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x213))))), Integer(Pos(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(Succ(x213))))), Integer(Pos(Succ(Succ(Zero)))))) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x213))))), Integer(Pos(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(Succ(x213))))), Integer(Pos(Succ(Succ(Zero)))))) For Pair new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) the following chains were created: *We consider the chain new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x233)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x233), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x233)))))), new_gcd0Gcd'10(False, x234, x235) -> new_gcd0Gcd'00(x234, new_rem0(x235, x234)) which results in the following constraint: (1) (new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x233), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x233))))))=new_gcd0Gcd'10(False, x234, x235) ==> new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x233))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x233), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x233))))))) We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: (2) (Integer(Pos(new_primModNatS1(Succ(x233), Succ(Zero))))=x529 & new_esEs0(x529)=False ==> new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x233))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x233), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x233))))))) We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_esEs0(x529)=False which results in the following new constraints: (3) (False=False & Integer(Pos(new_primModNatS1(Succ(x233), Succ(Zero))))=Integer(Neg(Succ(x530))) ==> new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x233))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x233), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x233))))))) (4) (False=False & Integer(Pos(new_primModNatS1(Succ(x233), Succ(Zero))))=Integer(Pos(Succ(x531))) ==> new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x233))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x233), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x233))))))) 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(x233)=x532 & Succ(Zero)=x533 & new_primModNatS1(x532, x533)=Succ(x531) ==> new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x233))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x233), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x233))))))) We simplified constraint (5) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS1(x532, x533)=Succ(x531) which results in the following new constraints: (6) (Succ(Zero)=Succ(x531) & Succ(x233)=Succ(Zero) & Succ(Zero)=Succ(x534) ==> new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x233))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x233), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x233))))))) (7) (new_primModNatS01(x536, x535, x536, x535)=Succ(x531) & Succ(x233)=Succ(Succ(x536)) & Succ(Zero)=Succ(x535) ==> new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x233))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x233), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x233))))))) (8) (new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero)=Succ(x531) & Succ(x233)=Succ(Zero) & Succ(Zero)=Zero ==> new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x233))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x233), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x233))))))) (9) (new_primModNatS1(new_primMinusNatS0(Succ(x538), Zero), Zero)=Succ(x531) & Succ(x233)=Succ(Succ(x538)) & Succ(Zero)=Zero ==> new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x233))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x233), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x233))))))) We simplified constraint (6) using rules (I), (II), (III), (IV) which results in the following new constraint: (10) (new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(Zero), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(Zero))))))) We simplified constraint (7) using rules (I), (II), (III), (VII) which results in the following new constraint: (11) (x536=x539 & x535=x540 & new_primModNatS01(x536, x535, x539, x540)=Succ(x531) & Zero=x535 ==> new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(Succ(x536)))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(Succ(x536)), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(Succ(x536)))))))) We solved constraint (8) using rules (I), (II).We solved constraint (9) using rules (I), (II).We simplified constraint (11) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x536, x535, x539, x540)=Succ(x531) which results in the following new constraints: (12) (new_primModNatS01(x544, x543, x542, x541)=Succ(x531) & x544=Succ(x542) & x543=Succ(x541) & Zero=x543 & (\/x545:new_primModNatS01(x544, x543, x542, x541)=Succ(x545) & x544=x542 & x543=x541 & Zero=x543 ==> new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(Succ(x544)))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(Succ(x544)), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(Succ(x544)))))))) ==> new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(Succ(x544)))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(Succ(x544)), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(Succ(x544)))))))) (13) (Succ(Succ(x548))=Succ(x531) & x548=Zero & x547=Succ(x546) & Zero=x547 ==> new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(Succ(x548)))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(Succ(x548)), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(Succ(x548)))))))) (14) (new_primModNatS02(x550, x549)=Succ(x531) & x550=Zero & x549=Zero & Zero=x549 ==> new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(Succ(x550)))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(Succ(x550)), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(Succ(x550)))))))) (15) (new_primModNatS02(x553, x552)=Succ(x531) & x553=Succ(x551) & x552=Zero & Zero=x552 ==> new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(Succ(x553)))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(Succ(x553)), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(Succ(x553)))))))) We solved constraint (12) using rules (I), (II), (III).We solved constraint (13) using rules (I), (II), (III), (IV).We simplified constraint (14) using rules (I), (II), (III), (IV), (VII) which results in the following new constraint: (16) (new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(Succ(Zero)), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))))) We simplified constraint (15) using rules (I), (II), (III), (IV), (VII) which results in the following new constraint: (17) (new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(Succ(Succ(x551))))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(Succ(Succ(x551))), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(Succ(Succ(x551))))))))) For Pair new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) the following chains were created: *We consider the chain new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x254))))), Integer(Pos(Succ(Succ(Succ(x255)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(x255), Succ(x254), x255, x254)))), Integer(Pos(Succ(Succ(Succ(x254))))), Integer(Pos(Succ(Succ(Succ(x255)))))), new_gcd0Gcd'10(False, x256, x257) -> new_gcd0Gcd'00(x256, new_rem0(x257, x256)) which results in the following constraint: (1) (new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(x255), Succ(x254), x255, x254)))), Integer(Pos(Succ(Succ(Succ(x254))))), Integer(Pos(Succ(Succ(Succ(x255))))))=new_gcd0Gcd'10(False, x256, x257) ==> new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x254))))), Integer(Pos(Succ(Succ(Succ(x255))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(x255), Succ(x254), x255, x254)))), Integer(Pos(Succ(Succ(Succ(x254))))), Integer(Pos(Succ(Succ(Succ(x255))))))) We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: (2) (Integer(Pos(new_primModNatS01(Succ(x255), Succ(x254), x255, x254)))=x558 & new_esEs0(x558)=False ==> new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x254))))), Integer(Pos(Succ(Succ(Succ(x255))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(x255), Succ(x254), x255, x254)))), Integer(Pos(Succ(Succ(Succ(x254))))), Integer(Pos(Succ(Succ(Succ(x255))))))) We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_esEs0(x558)=False which results in the following new constraints: (3) (False=False & Integer(Pos(new_primModNatS01(Succ(x255), Succ(x254), x255, x254)))=Integer(Neg(Succ(x559))) ==> new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x254))))), Integer(Pos(Succ(Succ(Succ(x255))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(x255), Succ(x254), x255, x254)))), Integer(Pos(Succ(Succ(Succ(x254))))), Integer(Pos(Succ(Succ(Succ(x255))))))) (4) (False=False & Integer(Pos(new_primModNatS01(Succ(x255), Succ(x254), x255, x254)))=Integer(Pos(Succ(x560))) ==> new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x254))))), Integer(Pos(Succ(Succ(Succ(x255))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(x255), Succ(x254), x255, x254)))), Integer(Pos(Succ(Succ(Succ(x254))))), Integer(Pos(Succ(Succ(Succ(x255))))))) 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(x255)=x561 & Succ(x254)=x562 & new_primModNatS01(x561, x562, x255, x254)=Succ(x560) ==> new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x254))))), Integer(Pos(Succ(Succ(Succ(x255))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(x255), Succ(x254), x255, x254)))), Integer(Pos(Succ(Succ(Succ(x254))))), Integer(Pos(Succ(Succ(Succ(x255))))))) We simplified constraint (5) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x561, x562, x255, x254)=Succ(x560) which results in the following new constraints: (6) (new_primModNatS01(x566, x565, x564, x563)=Succ(x560) & Succ(Succ(x564))=x566 & Succ(Succ(x563))=x565 & (\/x567:new_primModNatS01(x566, x565, x564, x563)=Succ(x567) & Succ(x564)=x566 & Succ(x563)=x565 ==> new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x563))))), Integer(Pos(Succ(Succ(Succ(x564))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(x564), Succ(x563), x564, x563)))), Integer(Pos(Succ(Succ(Succ(x563))))), Integer(Pos(Succ(Succ(Succ(x564))))))) ==> new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(Succ(x563)))))), Integer(Pos(Succ(Succ(Succ(Succ(x564)))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(Succ(x564)), Succ(Succ(x563)), Succ(x564), Succ(x563))))), Integer(Pos(Succ(Succ(Succ(Succ(x563)))))), Integer(Pos(Succ(Succ(Succ(Succ(x564)))))))) (7) (Succ(Succ(x570))=Succ(x560) & Succ(Zero)=x570 & Succ(Succ(x568))=x569 ==> new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(Succ(x568)))))), Integer(Pos(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(Zero), Succ(Succ(x568)), Zero, Succ(x568))))), Integer(Pos(Succ(Succ(Succ(Succ(x568)))))), Integer(Pos(Succ(Succ(Succ(Zero))))))) (8) (new_primModNatS02(x572, x571)=Succ(x560) & Succ(Zero)=x572 & Succ(Zero)=x571 ==> new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(Zero))))), Integer(Pos(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(Zero), Succ(Zero), Zero, Zero)))), Integer(Pos(Succ(Succ(Succ(Zero))))), Integer(Pos(Succ(Succ(Succ(Zero))))))) (9) (new_primModNatS02(x575, x574)=Succ(x560) & Succ(Succ(x573))=x575 & Succ(Zero)=x574 ==> new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(Zero))))), Integer(Pos(Succ(Succ(Succ(Succ(x573)))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(Succ(x573)), Succ(Zero), Succ(x573), Zero)))), Integer(Pos(Succ(Succ(Succ(Zero))))), Integer(Pos(Succ(Succ(Succ(Succ(x573)))))))) We simplified constraint (6) using rule (IV) which results in the following new constraint: (10) (new_primModNatS01(x566, x565, x564, x563)=Succ(x560) & Succ(Succ(x564))=x566 & Succ(Succ(x563))=x565 ==> new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(Succ(x563)))))), Integer(Pos(Succ(Succ(Succ(Succ(x564)))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(Succ(x564)), Succ(Succ(x563)), Succ(x564), Succ(x563))))), Integer(Pos(Succ(Succ(Succ(Succ(x563)))))), Integer(Pos(Succ(Succ(Succ(Succ(x564)))))))) We simplified constraint (7) using rules (I), (II), (IV) which results in the following new constraint: (11) (new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(Succ(x568)))))), Integer(Pos(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(Zero), Succ(Succ(x568)), Zero, Succ(x568))))), Integer(Pos(Succ(Succ(Succ(Succ(x568)))))), Integer(Pos(Succ(Succ(Succ(Zero))))))) We simplified constraint (8) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x572, x571)=Succ(x560) which results in the following new constraint: (12) (new_primModNatS1(new_primMinusNatS0(Succ(x590), Succ(x589)), Succ(x589))=Succ(x560) & Succ(Zero)=x590 & Succ(Zero)=x589 ==> new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(Zero))))), Integer(Pos(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(Zero), Succ(Zero), Zero, Zero)))), Integer(Pos(Succ(Succ(Succ(Zero))))), Integer(Pos(Succ(Succ(Succ(Zero))))))) We simplified constraint (9) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x575, x574)=Succ(x560) which results in the following new constraint: (13) (new_primModNatS1(new_primMinusNatS0(Succ(x596), Succ(x595)), Succ(x595))=Succ(x560) & Succ(Succ(x573))=x596 & Succ(Zero)=x595 ==> new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(Zero))))), Integer(Pos(Succ(Succ(Succ(Succ(x573)))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(Succ(x573)), Succ(Zero), Succ(x573), Zero)))), Integer(Pos(Succ(Succ(Succ(Zero))))), Integer(Pos(Succ(Succ(Succ(Succ(x573)))))))) We simplified constraint (10) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x566, x565, x564, x563)=Succ(x560) which results in the following new constraints: (14) (new_primModNatS01(x579, x578, x577, x576)=Succ(x560) & Succ(Succ(Succ(x577)))=x579 & Succ(Succ(Succ(x576)))=x578 & (\/x580:new_primModNatS01(x579, x578, x577, x576)=Succ(x580) & Succ(Succ(x577))=x579 & Succ(Succ(x576))=x578 ==> new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(Succ(x576)))))), Integer(Pos(Succ(Succ(Succ(Succ(x577)))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(Succ(x577)), Succ(Succ(x576)), Succ(x577), Succ(x576))))), Integer(Pos(Succ(Succ(Succ(Succ(x576)))))), Integer(Pos(Succ(Succ(Succ(Succ(x577)))))))) ==> new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(Succ(Succ(x576))))))), Integer(Pos(Succ(Succ(Succ(Succ(Succ(x577))))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(Succ(Succ(x577))), Succ(Succ(Succ(x576))), Succ(Succ(x577)), Succ(Succ(x576)))))), Integer(Pos(Succ(Succ(Succ(Succ(Succ(x576))))))), Integer(Pos(Succ(Succ(Succ(Succ(Succ(x577))))))))) (15) (Succ(Succ(x583))=Succ(x560) & Succ(Succ(Zero))=x583 & Succ(Succ(Succ(x581)))=x582 ==> new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(Succ(Succ(x581))))))), Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Succ(x581))), Succ(Zero), Succ(Succ(x581)))))), Integer(Pos(Succ(Succ(Succ(Succ(Succ(x581))))))), Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))))) (16) (new_primModNatS02(x585, x584)=Succ(x560) & Succ(Succ(Zero))=x585 & Succ(Succ(Zero))=x584 ==> new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))), Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Zero)), Succ(Zero), Succ(Zero))))), Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))), Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))))) (17) (new_primModNatS02(x588, x587)=Succ(x560) & Succ(Succ(Succ(x586)))=x588 & Succ(Succ(Zero))=x587 ==> new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))), Integer(Pos(Succ(Succ(Succ(Succ(Succ(x586))))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(Succ(Succ(x586))), Succ(Succ(Zero)), Succ(Succ(x586)), Succ(Zero))))), Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))), Integer(Pos(Succ(Succ(Succ(Succ(Succ(x586))))))))) We simplified constraint (14) using rules (III), (IV) which results in the following new constraint: (18) (new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(Succ(Succ(x576))))))), Integer(Pos(Succ(Succ(Succ(Succ(Succ(x577))))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(Succ(Succ(x577))), Succ(Succ(Succ(x576))), Succ(Succ(x577)), Succ(Succ(x576)))))), Integer(Pos(Succ(Succ(Succ(Succ(Succ(x576))))))), Integer(Pos(Succ(Succ(Succ(Succ(Succ(x577))))))))) We simplified constraint (15) using rules (I), (II), (IV) which results in the following new constraint: (19) (new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(Succ(Succ(x581))))))), Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Succ(x581))), Succ(Zero), Succ(Succ(x581)))))), Integer(Pos(Succ(Succ(Succ(Succ(Succ(x581))))))), Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))))) We simplified constraint (16) using rules (III), (IV) which results in the following new constraint: (20) (new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))), Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Zero)), Succ(Zero), Succ(Zero))))), Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))), Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))))) We simplified constraint (17) using rules (III), (IV) which results in the following new constraint: (21) (new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))), Integer(Pos(Succ(Succ(Succ(Succ(Succ(x586))))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(Succ(Succ(x586))), Succ(Succ(Zero)), Succ(Succ(x586)), Succ(Zero))))), Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))), Integer(Pos(Succ(Succ(Succ(Succ(Succ(x586))))))))) We simplified constraint (12) using rules (III), (IV), (VII) which results in the following new constraint: (22) (new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(Zero))))), Integer(Pos(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(Zero), Succ(Zero), Zero, Zero)))), Integer(Pos(Succ(Succ(Succ(Zero))))), Integer(Pos(Succ(Succ(Succ(Zero))))))) We simplified constraint (13) using rules (III), (IV), (VII) which results in the following new constraint: (23) (new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(Zero))))), Integer(Pos(Succ(Succ(Succ(Succ(x573)))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(Succ(x573)), Succ(Zero), Succ(x573), Zero)))), Integer(Pos(Succ(Succ(Succ(Zero))))), Integer(Pos(Succ(Succ(Succ(Succ(x573)))))))) For Pair new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) the following chains were created: *We consider the chain new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x291))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(Succ(x291))))), Integer(Pos(Succ(Succ(Zero))))), new_gcd0Gcd'10(False, x292, x293) -> new_gcd0Gcd'00(x292, new_rem0(x293, x292)) which results in the following constraint: (1) (new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(Succ(x291))))), Integer(Pos(Succ(Succ(Zero)))))=new_gcd0Gcd'10(False, x292, x293) ==> new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x291))))), Integer(Pos(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(Succ(x291))))), Integer(Pos(Succ(Succ(Zero)))))) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x291))))), Integer(Pos(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(Succ(x291))))), Integer(Pos(Succ(Succ(Zero)))))) For Pair new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) the following chains were created: *We consider the chain new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x311)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x311), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x311)))))), new_gcd0Gcd'10(False, x312, x313) -> new_gcd0Gcd'00(x312, new_rem0(x313, x312)) which results in the following constraint: (1) (new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x311), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x311))))))=new_gcd0Gcd'10(False, x312, x313) ==> new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x311))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x311), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x311))))))) We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: (2) (Integer(Pos(new_primModNatS1(Succ(x311), Succ(Zero))))=x601 & new_esEs0(x601)=False ==> new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x311))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x311), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x311))))))) We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_esEs0(x601)=False which results in the following new constraints: (3) (False=False & Integer(Pos(new_primModNatS1(Succ(x311), Succ(Zero))))=Integer(Neg(Succ(x602))) ==> new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x311))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x311), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x311))))))) (4) (False=False & Integer(Pos(new_primModNatS1(Succ(x311), Succ(Zero))))=Integer(Pos(Succ(x603))) ==> new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x311))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x311), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x311))))))) 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(x311)=x604 & Succ(Zero)=x605 & new_primModNatS1(x604, x605)=Succ(x603) ==> new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x311))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x311), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x311))))))) We simplified constraint (5) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS1(x604, x605)=Succ(x603) which results in the following new constraints: (6) (Succ(Zero)=Succ(x603) & Succ(x311)=Succ(Zero) & Succ(Zero)=Succ(x606) ==> new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x311))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x311), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x311))))))) (7) (new_primModNatS01(x608, x607, x608, x607)=Succ(x603) & Succ(x311)=Succ(Succ(x608)) & Succ(Zero)=Succ(x607) ==> new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x311))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x311), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x311))))))) (8) (new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero)=Succ(x603) & Succ(x311)=Succ(Zero) & Succ(Zero)=Zero ==> new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x311))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x311), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x311))))))) (9) (new_primModNatS1(new_primMinusNatS0(Succ(x610), Zero), Zero)=Succ(x603) & Succ(x311)=Succ(Succ(x610)) & Succ(Zero)=Zero ==> new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x311))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x311), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x311))))))) We simplified constraint (6) using rules (I), (II), (III), (IV) which results in the following new constraint: (10) (new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(Zero), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(Zero))))))) We simplified constraint (7) using rules (I), (II), (III), (VII) which results in the following new constraint: (11) (x608=x611 & x607=x612 & new_primModNatS01(x608, x607, x611, x612)=Succ(x603) & Zero=x607 ==> new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(Succ(x608)))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(Succ(x608)), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(Succ(x608)))))))) We solved constraint (8) using rules (I), (II).We solved constraint (9) using rules (I), (II).We simplified constraint (11) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x608, x607, x611, x612)=Succ(x603) which results in the following new constraints: (12) (new_primModNatS01(x616, x615, x614, x613)=Succ(x603) & x616=Succ(x614) & x615=Succ(x613) & Zero=x615 & (\/x617:new_primModNatS01(x616, x615, x614, x613)=Succ(x617) & x616=x614 & x615=x613 & Zero=x615 ==> new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(Succ(x616)))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(Succ(x616)), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(Succ(x616)))))))) ==> new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(Succ(x616)))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(Succ(x616)), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(Succ(x616)))))))) (13) (Succ(Succ(x620))=Succ(x603) & x620=Zero & x619=Succ(x618) & Zero=x619 ==> new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(Succ(x620)))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(Succ(x620)), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(Succ(x620)))))))) (14) (new_primModNatS02(x622, x621)=Succ(x603) & x622=Zero & x621=Zero & Zero=x621 ==> new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(Succ(x622)))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(Succ(x622)), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(Succ(x622)))))))) (15) (new_primModNatS02(x625, x624)=Succ(x603) & x625=Succ(x623) & x624=Zero & Zero=x624 ==> new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(Succ(x625)))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(Succ(x625)), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(Succ(x625)))))))) We solved constraint (12) using rules (I), (II), (III).We solved constraint (13) using rules (I), (II), (III), (IV).We simplified constraint (14) using rules (I), (II), (III), (IV), (VII) which results in the following new constraint: (16) (new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(Succ(Zero)), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))))) We simplified constraint (15) using rules (I), (II), (III), (IV), (VII) which results in the following new constraint: (17) (new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(Succ(Succ(x623))))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(Succ(Succ(x623))), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(Succ(Succ(x623))))))))) For Pair new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) the following chains were created: *We consider the chain new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x332))))), Integer(Neg(Succ(Succ(Succ(x333)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(Succ(x333), Succ(x332), x333, x332)))), Integer(Pos(Succ(Succ(Succ(x332))))), Integer(Neg(Succ(Succ(Succ(x333)))))), new_gcd0Gcd'10(False, x334, x335) -> new_gcd0Gcd'00(x334, new_rem0(x335, x334)) which results in the following constraint: (1) (new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(Succ(x333), Succ(x332), x333, x332)))), Integer(Pos(Succ(Succ(Succ(x332))))), Integer(Neg(Succ(Succ(Succ(x333))))))=new_gcd0Gcd'10(False, x334, x335) ==> new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x332))))), Integer(Neg(Succ(Succ(Succ(x333))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(Succ(x333), Succ(x332), x333, x332)))), Integer(Pos(Succ(Succ(Succ(x332))))), Integer(Neg(Succ(Succ(Succ(x333))))))) We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: (2) (Integer(Neg(new_primModNatS01(Succ(x333), Succ(x332), x333, x332)))=x630 & new_esEs0(x630)=False ==> new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x332))))), Integer(Neg(Succ(Succ(Succ(x333))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(Succ(x333), Succ(x332), x333, x332)))), Integer(Pos(Succ(Succ(Succ(x332))))), Integer(Neg(Succ(Succ(Succ(x333))))))) We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_esEs0(x630)=False which results in the following new constraints: (3) (False=False & Integer(Neg(new_primModNatS01(Succ(x333), Succ(x332), x333, x332)))=Integer(Neg(Succ(x631))) ==> new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x332))))), Integer(Neg(Succ(Succ(Succ(x333))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(Succ(x333), Succ(x332), x333, x332)))), Integer(Pos(Succ(Succ(Succ(x332))))), Integer(Neg(Succ(Succ(Succ(x333))))))) (4) (False=False & Integer(Neg(new_primModNatS01(Succ(x333), Succ(x332), x333, x332)))=Integer(Pos(Succ(x632))) ==> new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x332))))), Integer(Neg(Succ(Succ(Succ(x333))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(Succ(x333), Succ(x332), x333, x332)))), Integer(Pos(Succ(Succ(Succ(x332))))), Integer(Neg(Succ(Succ(Succ(x333))))))) We simplified constraint (3) using rules (I), (II), (VII) which results in the following new constraint: (5) (Succ(x333)=x633 & Succ(x332)=x634 & new_primModNatS01(x633, x634, x333, x332)=Succ(x631) ==> new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x332))))), Integer(Neg(Succ(Succ(Succ(x333))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(Succ(x333), Succ(x332), x333, x332)))), Integer(Pos(Succ(Succ(Succ(x332))))), Integer(Neg(Succ(Succ(Succ(x333))))))) We solved constraint (4) using rules (I), (II).We simplified constraint (5) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x633, x634, x333, x332)=Succ(x631) which results in the following new constraints: (6) (new_primModNatS01(x638, x637, x636, x635)=Succ(x631) & Succ(Succ(x636))=x638 & Succ(Succ(x635))=x637 & (\/x639:new_primModNatS01(x638, x637, x636, x635)=Succ(x639) & Succ(x636)=x638 & Succ(x635)=x637 ==> new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x635))))), Integer(Neg(Succ(Succ(Succ(x636))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(Succ(x636), Succ(x635), x636, x635)))), Integer(Pos(Succ(Succ(Succ(x635))))), Integer(Neg(Succ(Succ(Succ(x636))))))) ==> new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(Succ(x635)))))), Integer(Neg(Succ(Succ(Succ(Succ(x636)))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(Succ(Succ(x636)), Succ(Succ(x635)), Succ(x636), Succ(x635))))), Integer(Pos(Succ(Succ(Succ(Succ(x635)))))), Integer(Neg(Succ(Succ(Succ(Succ(x636)))))))) (7) (Succ(Succ(x642))=Succ(x631) & Succ(Zero)=x642 & Succ(Succ(x640))=x641 ==> new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(Succ(x640)))))), Integer(Neg(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(Succ(Zero), Succ(Succ(x640)), Zero, Succ(x640))))), Integer(Pos(Succ(Succ(Succ(Succ(x640)))))), Integer(Neg(Succ(Succ(Succ(Zero))))))) (8) (new_primModNatS02(x644, x643)=Succ(x631) & Succ(Zero)=x644 & Succ(Zero)=x643 ==> new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(Zero))))), Integer(Neg(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(Succ(Zero), Succ(Zero), Zero, Zero)))), Integer(Pos(Succ(Succ(Succ(Zero))))), Integer(Neg(Succ(Succ(Succ(Zero))))))) (9) (new_primModNatS02(x647, x646)=Succ(x631) & Succ(Succ(x645))=x647 & Succ(Zero)=x646 ==> new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(Zero))))), Integer(Neg(Succ(Succ(Succ(Succ(x645)))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(Succ(Succ(x645)), Succ(Zero), Succ(x645), Zero)))), Integer(Pos(Succ(Succ(Succ(Zero))))), Integer(Neg(Succ(Succ(Succ(Succ(x645)))))))) We simplified constraint (6) using rule (IV) which results in the following new constraint: (10) (new_primModNatS01(x638, x637, x636, x635)=Succ(x631) & Succ(Succ(x636))=x638 & Succ(Succ(x635))=x637 ==> new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(Succ(x635)))))), Integer(Neg(Succ(Succ(Succ(Succ(x636)))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(Succ(Succ(x636)), Succ(Succ(x635)), Succ(x636), Succ(x635))))), Integer(Pos(Succ(Succ(Succ(Succ(x635)))))), Integer(Neg(Succ(Succ(Succ(Succ(x636)))))))) We simplified constraint (7) using rules (I), (II), (IV) which results in the following new constraint: (11) (new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(Succ(x640)))))), Integer(Neg(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(Succ(Zero), Succ(Succ(x640)), Zero, Succ(x640))))), Integer(Pos(Succ(Succ(Succ(Succ(x640)))))), Integer(Neg(Succ(Succ(Succ(Zero))))))) We simplified constraint (8) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x644, x643)=Succ(x631) which results in the following new constraint: (12) (new_primModNatS1(new_primMinusNatS0(Succ(x662), Succ(x661)), Succ(x661))=Succ(x631) & Succ(Zero)=x662 & Succ(Zero)=x661 ==> new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(Zero))))), Integer(Neg(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(Succ(Zero), Succ(Zero), Zero, Zero)))), Integer(Pos(Succ(Succ(Succ(Zero))))), Integer(Neg(Succ(Succ(Succ(Zero))))))) We simplified constraint (9) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x647, x646)=Succ(x631) which results in the following new constraint: (13) (new_primModNatS1(new_primMinusNatS0(Succ(x668), Succ(x667)), Succ(x667))=Succ(x631) & Succ(Succ(x645))=x668 & Succ(Zero)=x667 ==> new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(Zero))))), Integer(Neg(Succ(Succ(Succ(Succ(x645)))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(Succ(Succ(x645)), Succ(Zero), Succ(x645), Zero)))), Integer(Pos(Succ(Succ(Succ(Zero))))), Integer(Neg(Succ(Succ(Succ(Succ(x645)))))))) We simplified constraint (10) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x638, x637, x636, x635)=Succ(x631) which results in the following new constraints: (14) (new_primModNatS01(x651, x650, x649, x648)=Succ(x631) & Succ(Succ(Succ(x649)))=x651 & Succ(Succ(Succ(x648)))=x650 & (\/x652:new_primModNatS01(x651, x650, x649, x648)=Succ(x652) & Succ(Succ(x649))=x651 & Succ(Succ(x648))=x650 ==> new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(Succ(x648)))))), Integer(Neg(Succ(Succ(Succ(Succ(x649)))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(Succ(Succ(x649)), Succ(Succ(x648)), Succ(x649), Succ(x648))))), Integer(Pos(Succ(Succ(Succ(Succ(x648)))))), Integer(Neg(Succ(Succ(Succ(Succ(x649)))))))) ==> new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(Succ(Succ(x648))))))), Integer(Neg(Succ(Succ(Succ(Succ(Succ(x649))))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(Succ(Succ(Succ(x649))), Succ(Succ(Succ(x648))), Succ(Succ(x649)), Succ(Succ(x648)))))), Integer(Pos(Succ(Succ(Succ(Succ(Succ(x648))))))), Integer(Neg(Succ(Succ(Succ(Succ(Succ(x649))))))))) (15) (Succ(Succ(x655))=Succ(x631) & Succ(Succ(Zero))=x655 & Succ(Succ(Succ(x653)))=x654 ==> new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(Succ(Succ(x653))))))), Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Succ(x653))), Succ(Zero), Succ(Succ(x653)))))), Integer(Pos(Succ(Succ(Succ(Succ(Succ(x653))))))), Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))))) (16) (new_primModNatS02(x657, x656)=Succ(x631) & Succ(Succ(Zero))=x657 & Succ(Succ(Zero))=x656 ==> new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))), Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Zero)), Succ(Zero), Succ(Zero))))), Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))), Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))))) (17) (new_primModNatS02(x660, x659)=Succ(x631) & Succ(Succ(Succ(x658)))=x660 & Succ(Succ(Zero))=x659 ==> new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))), Integer(Neg(Succ(Succ(Succ(Succ(Succ(x658))))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(Succ(Succ(Succ(x658))), Succ(Succ(Zero)), Succ(Succ(x658)), Succ(Zero))))), Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))), Integer(Neg(Succ(Succ(Succ(Succ(Succ(x658))))))))) We simplified constraint (14) using rules (III), (IV) which results in the following new constraint: (18) (new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(Succ(Succ(x648))))))), Integer(Neg(Succ(Succ(Succ(Succ(Succ(x649))))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(Succ(Succ(Succ(x649))), Succ(Succ(Succ(x648))), Succ(Succ(x649)), Succ(Succ(x648)))))), Integer(Pos(Succ(Succ(Succ(Succ(Succ(x648))))))), Integer(Neg(Succ(Succ(Succ(Succ(Succ(x649))))))))) We simplified constraint (15) using rules (I), (II), (IV) which results in the following new constraint: (19) (new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(Succ(Succ(x653))))))), Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Succ(x653))), Succ(Zero), Succ(Succ(x653)))))), Integer(Pos(Succ(Succ(Succ(Succ(Succ(x653))))))), Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))))) We simplified constraint (16) using rules (III), (IV) which results in the following new constraint: (20) (new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))), Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Zero)), Succ(Zero), Succ(Zero))))), Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))), Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))))) We simplified constraint (17) using rules (III), (IV) which results in the following new constraint: (21) (new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))), Integer(Neg(Succ(Succ(Succ(Succ(Succ(x658))))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(Succ(Succ(Succ(x658))), Succ(Succ(Zero)), Succ(Succ(x658)), Succ(Zero))))), Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))), Integer(Neg(Succ(Succ(Succ(Succ(Succ(x658))))))))) We simplified constraint (12) using rules (III), (IV), (VII) which results in the following new constraint: (22) (new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(Zero))))), Integer(Neg(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(Succ(Zero), Succ(Zero), Zero, Zero)))), Integer(Pos(Succ(Succ(Succ(Zero))))), Integer(Neg(Succ(Succ(Succ(Zero))))))) We simplified constraint (13) using rules (III), (IV), (VII) which results in the following new constraint: (23) (new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(Zero))))), Integer(Neg(Succ(Succ(Succ(Succ(x645)))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(Succ(Succ(x645)), Succ(Zero), Succ(x645), Zero)))), Integer(Pos(Succ(Succ(Succ(Zero))))), Integer(Neg(Succ(Succ(Succ(Succ(x645)))))))) For Pair new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) the following chains were created: *We consider the chain new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x369))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(Succ(x369))))), Integer(Neg(Succ(Succ(Zero))))), new_gcd0Gcd'10(False, x370, x371) -> new_gcd0Gcd'00(x370, new_rem0(x371, x370)) which results in the following constraint: (1) (new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(Succ(x369))))), Integer(Neg(Succ(Succ(Zero)))))=new_gcd0Gcd'10(False, x370, x371) ==> new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x369))))), Integer(Neg(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(Succ(x369))))), Integer(Neg(Succ(Succ(Zero)))))) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x369))))), Integer(Neg(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(Succ(x369))))), Integer(Neg(Succ(Succ(Zero)))))) For Pair new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) the following chains were created: *We consider the chain new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x389)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x389), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x389)))))), new_gcd0Gcd'10(False, x390, x391) -> new_gcd0Gcd'00(x390, new_rem0(x391, x390)) which results in the following constraint: (1) (new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x389), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x389))))))=new_gcd0Gcd'10(False, x390, x391) ==> new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x389))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x389), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x389))))))) We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: (2) (Integer(Neg(new_primModNatS1(Succ(x389), Succ(Zero))))=x673 & new_esEs0(x673)=False ==> new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x389))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x389), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x389))))))) We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_esEs0(x673)=False which results in the following new constraints: (3) (False=False & Integer(Neg(new_primModNatS1(Succ(x389), Succ(Zero))))=Integer(Neg(Succ(x674))) ==> new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x389))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x389), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x389))))))) (4) (False=False & Integer(Neg(new_primModNatS1(Succ(x389), Succ(Zero))))=Integer(Pos(Succ(x675))) ==> new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x389))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x389), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x389))))))) We simplified constraint (3) using rules (I), (II), (VII) which results in the following new constraint: (5) (Succ(x389)=x676 & Succ(Zero)=x677 & new_primModNatS1(x676, x677)=Succ(x674) ==> new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x389))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x389), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x389))))))) We solved constraint (4) using rules (I), (II).We simplified constraint (5) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS1(x676, x677)=Succ(x674) which results in the following new constraints: (6) (Succ(Zero)=Succ(x674) & Succ(x389)=Succ(Zero) & Succ(Zero)=Succ(x678) ==> new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x389))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x389), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x389))))))) (7) (new_primModNatS01(x680, x679, x680, x679)=Succ(x674) & Succ(x389)=Succ(Succ(x680)) & Succ(Zero)=Succ(x679) ==> new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x389))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x389), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x389))))))) (8) (new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero)=Succ(x674) & Succ(x389)=Succ(Zero) & Succ(Zero)=Zero ==> new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x389))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x389), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x389))))))) (9) (new_primModNatS1(new_primMinusNatS0(Succ(x682), Zero), Zero)=Succ(x674) & Succ(x389)=Succ(Succ(x682)) & Succ(Zero)=Zero ==> new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x389))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x389), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x389))))))) We simplified constraint (6) using rules (I), (II), (III), (IV) which results in the following new constraint: (10) (new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(Zero), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(Zero))))))) We simplified constraint (7) using rules (I), (II), (III), (VII) which results in the following new constraint: (11) (x680=x683 & x679=x684 & new_primModNatS01(x680, x679, x683, x684)=Succ(x674) & Zero=x679 ==> new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(Succ(x680)))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(Succ(x680)), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(Succ(x680)))))))) We solved constraint (8) using rules (I), (II).We solved constraint (9) using rules (I), (II).We simplified constraint (11) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x680, x679, x683, x684)=Succ(x674) which results in the following new constraints: (12) (new_primModNatS01(x688, x687, x686, x685)=Succ(x674) & x688=Succ(x686) & x687=Succ(x685) & Zero=x687 & (\/x689:new_primModNatS01(x688, x687, x686, x685)=Succ(x689) & x688=x686 & x687=x685 & Zero=x687 ==> new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(Succ(x688)))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(Succ(x688)), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(Succ(x688)))))))) ==> new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(Succ(x688)))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(Succ(x688)), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(Succ(x688)))))))) (13) (Succ(Succ(x692))=Succ(x674) & x692=Zero & x691=Succ(x690) & Zero=x691 ==> new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(Succ(x692)))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(Succ(x692)), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(Succ(x692)))))))) (14) (new_primModNatS02(x694, x693)=Succ(x674) & x694=Zero & x693=Zero & Zero=x693 ==> new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(Succ(x694)))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(Succ(x694)), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(Succ(x694)))))))) (15) (new_primModNatS02(x697, x696)=Succ(x674) & x697=Succ(x695) & x696=Zero & Zero=x696 ==> new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(Succ(x697)))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(Succ(x697)), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(Succ(x697)))))))) We solved constraint (12) using rules (I), (II), (III).We solved constraint (13) using rules (I), (II), (III), (IV).We simplified constraint (14) using rules (I), (II), (III), (IV), (VII) which results in the following new constraint: (16) (new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(Succ(Zero)), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))))) We simplified constraint (15) using rules (I), (II), (III), (IV), (VII) which results in the following new constraint: (17) (new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(Succ(Succ(x695))))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(Succ(Succ(x695))), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(Succ(Succ(x695))))))))) For Pair new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) the following chains were created: *We consider the chain new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x410))))), Integer(Neg(Succ(Succ(Succ(x411)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(Succ(x411), Succ(x410), x411, x410)))), Integer(Neg(Succ(Succ(Succ(x410))))), Integer(Neg(Succ(Succ(Succ(x411)))))), new_gcd0Gcd'10(False, x412, x413) -> new_gcd0Gcd'00(x412, new_rem0(x413, x412)) which results in the following constraint: (1) (new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(Succ(x411), Succ(x410), x411, x410)))), Integer(Neg(Succ(Succ(Succ(x410))))), Integer(Neg(Succ(Succ(Succ(x411))))))=new_gcd0Gcd'10(False, x412, x413) ==> new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x410))))), Integer(Neg(Succ(Succ(Succ(x411))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(Succ(x411), Succ(x410), x411, x410)))), Integer(Neg(Succ(Succ(Succ(x410))))), Integer(Neg(Succ(Succ(Succ(x411))))))) We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: (2) (Integer(Neg(new_primModNatS01(Succ(x411), Succ(x410), x411, x410)))=x702 & new_esEs0(x702)=False ==> new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x410))))), Integer(Neg(Succ(Succ(Succ(x411))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(Succ(x411), Succ(x410), x411, x410)))), Integer(Neg(Succ(Succ(Succ(x410))))), Integer(Neg(Succ(Succ(Succ(x411))))))) We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_esEs0(x702)=False which results in the following new constraints: (3) (False=False & Integer(Neg(new_primModNatS01(Succ(x411), Succ(x410), x411, x410)))=Integer(Neg(Succ(x703))) ==> new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x410))))), Integer(Neg(Succ(Succ(Succ(x411))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(Succ(x411), Succ(x410), x411, x410)))), Integer(Neg(Succ(Succ(Succ(x410))))), Integer(Neg(Succ(Succ(Succ(x411))))))) (4) (False=False & Integer(Neg(new_primModNatS01(Succ(x411), Succ(x410), x411, x410)))=Integer(Pos(Succ(x704))) ==> new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x410))))), Integer(Neg(Succ(Succ(Succ(x411))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(Succ(x411), Succ(x410), x411, x410)))), Integer(Neg(Succ(Succ(Succ(x410))))), Integer(Neg(Succ(Succ(Succ(x411))))))) We simplified constraint (3) using rules (I), (II), (VII) which results in the following new constraint: (5) (Succ(x411)=x705 & Succ(x410)=x706 & new_primModNatS01(x705, x706, x411, x410)=Succ(x703) ==> new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x410))))), Integer(Neg(Succ(Succ(Succ(x411))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(Succ(x411), Succ(x410), x411, x410)))), Integer(Neg(Succ(Succ(Succ(x410))))), Integer(Neg(Succ(Succ(Succ(x411))))))) We solved constraint (4) using rules (I), (II).We simplified constraint (5) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x705, x706, x411, x410)=Succ(x703) which results in the following new constraints: (6) (new_primModNatS01(x710, x709, x708, x707)=Succ(x703) & Succ(Succ(x708))=x710 & Succ(Succ(x707))=x709 & (\/x711:new_primModNatS01(x710, x709, x708, x707)=Succ(x711) & Succ(x708)=x710 & Succ(x707)=x709 ==> new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x707))))), Integer(Neg(Succ(Succ(Succ(x708))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(Succ(x708), Succ(x707), x708, x707)))), Integer(Neg(Succ(Succ(Succ(x707))))), Integer(Neg(Succ(Succ(Succ(x708))))))) ==> new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(Succ(x707)))))), Integer(Neg(Succ(Succ(Succ(Succ(x708)))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(Succ(Succ(x708)), Succ(Succ(x707)), Succ(x708), Succ(x707))))), Integer(Neg(Succ(Succ(Succ(Succ(x707)))))), Integer(Neg(Succ(Succ(Succ(Succ(x708)))))))) (7) (Succ(Succ(x714))=Succ(x703) & Succ(Zero)=x714 & Succ(Succ(x712))=x713 ==> new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(Succ(x712)))))), Integer(Neg(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(Succ(Zero), Succ(Succ(x712)), Zero, Succ(x712))))), Integer(Neg(Succ(Succ(Succ(Succ(x712)))))), Integer(Neg(Succ(Succ(Succ(Zero))))))) (8) (new_primModNatS02(x716, x715)=Succ(x703) & Succ(Zero)=x716 & Succ(Zero)=x715 ==> new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(Zero))))), Integer(Neg(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(Succ(Zero), Succ(Zero), Zero, Zero)))), Integer(Neg(Succ(Succ(Succ(Zero))))), Integer(Neg(Succ(Succ(Succ(Zero))))))) (9) (new_primModNatS02(x719, x718)=Succ(x703) & Succ(Succ(x717))=x719 & Succ(Zero)=x718 ==> new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(Zero))))), Integer(Neg(Succ(Succ(Succ(Succ(x717)))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(Succ(Succ(x717)), Succ(Zero), Succ(x717), Zero)))), Integer(Neg(Succ(Succ(Succ(Zero))))), Integer(Neg(Succ(Succ(Succ(Succ(x717)))))))) We simplified constraint (6) using rule (IV) which results in the following new constraint: (10) (new_primModNatS01(x710, x709, x708, x707)=Succ(x703) & Succ(Succ(x708))=x710 & Succ(Succ(x707))=x709 ==> new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(Succ(x707)))))), Integer(Neg(Succ(Succ(Succ(Succ(x708)))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(Succ(Succ(x708)), Succ(Succ(x707)), Succ(x708), Succ(x707))))), Integer(Neg(Succ(Succ(Succ(Succ(x707)))))), Integer(Neg(Succ(Succ(Succ(Succ(x708)))))))) We simplified constraint (7) using rules (I), (II), (IV) which results in the following new constraint: (11) (new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(Succ(x712)))))), Integer(Neg(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(Succ(Zero), Succ(Succ(x712)), Zero, Succ(x712))))), Integer(Neg(Succ(Succ(Succ(Succ(x712)))))), Integer(Neg(Succ(Succ(Succ(Zero))))))) We simplified constraint (8) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x716, x715)=Succ(x703) which results in the following new constraint: (12) (new_primModNatS1(new_primMinusNatS0(Succ(x734), Succ(x733)), Succ(x733))=Succ(x703) & Succ(Zero)=x734 & Succ(Zero)=x733 ==> new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(Zero))))), Integer(Neg(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(Succ(Zero), Succ(Zero), Zero, Zero)))), Integer(Neg(Succ(Succ(Succ(Zero))))), Integer(Neg(Succ(Succ(Succ(Zero))))))) We simplified constraint (9) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x719, x718)=Succ(x703) which results in the following new constraint: (13) (new_primModNatS1(new_primMinusNatS0(Succ(x740), Succ(x739)), Succ(x739))=Succ(x703) & Succ(Succ(x717))=x740 & Succ(Zero)=x739 ==> new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(Zero))))), Integer(Neg(Succ(Succ(Succ(Succ(x717)))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(Succ(Succ(x717)), Succ(Zero), Succ(x717), Zero)))), Integer(Neg(Succ(Succ(Succ(Zero))))), Integer(Neg(Succ(Succ(Succ(Succ(x717)))))))) We simplified constraint (10) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x710, x709, x708, x707)=Succ(x703) which results in the following new constraints: (14) (new_primModNatS01(x723, x722, x721, x720)=Succ(x703) & Succ(Succ(Succ(x721)))=x723 & Succ(Succ(Succ(x720)))=x722 & (\/x724:new_primModNatS01(x723, x722, x721, x720)=Succ(x724) & Succ(Succ(x721))=x723 & Succ(Succ(x720))=x722 ==> new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(Succ(x720)))))), Integer(Neg(Succ(Succ(Succ(Succ(x721)))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(Succ(Succ(x721)), Succ(Succ(x720)), Succ(x721), Succ(x720))))), Integer(Neg(Succ(Succ(Succ(Succ(x720)))))), Integer(Neg(Succ(Succ(Succ(Succ(x721)))))))) ==> new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(Succ(Succ(x720))))))), Integer(Neg(Succ(Succ(Succ(Succ(Succ(x721))))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(Succ(Succ(Succ(x721))), Succ(Succ(Succ(x720))), Succ(Succ(x721)), Succ(Succ(x720)))))), Integer(Neg(Succ(Succ(Succ(Succ(Succ(x720))))))), Integer(Neg(Succ(Succ(Succ(Succ(Succ(x721))))))))) (15) (Succ(Succ(x727))=Succ(x703) & Succ(Succ(Zero))=x727 & Succ(Succ(Succ(x725)))=x726 ==> new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(Succ(Succ(x725))))))), Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Succ(x725))), Succ(Zero), Succ(Succ(x725)))))), Integer(Neg(Succ(Succ(Succ(Succ(Succ(x725))))))), Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))))) (16) (new_primModNatS02(x729, x728)=Succ(x703) & Succ(Succ(Zero))=x729 & Succ(Succ(Zero))=x728 ==> new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))), Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Zero)), Succ(Zero), Succ(Zero))))), Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))), Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))))) (17) (new_primModNatS02(x732, x731)=Succ(x703) & Succ(Succ(Succ(x730)))=x732 & Succ(Succ(Zero))=x731 ==> new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))), Integer(Neg(Succ(Succ(Succ(Succ(Succ(x730))))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(Succ(Succ(Succ(x730))), Succ(Succ(Zero)), Succ(Succ(x730)), Succ(Zero))))), Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))), Integer(Neg(Succ(Succ(Succ(Succ(Succ(x730))))))))) We simplified constraint (14) using rules (III), (IV) which results in the following new constraint: (18) (new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(Succ(Succ(x720))))))), Integer(Neg(Succ(Succ(Succ(Succ(Succ(x721))))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(Succ(Succ(Succ(x721))), Succ(Succ(Succ(x720))), Succ(Succ(x721)), Succ(Succ(x720)))))), Integer(Neg(Succ(Succ(Succ(Succ(Succ(x720))))))), Integer(Neg(Succ(Succ(Succ(Succ(Succ(x721))))))))) We simplified constraint (15) using rules (I), (II), (IV) which results in the following new constraint: (19) (new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(Succ(Succ(x725))))))), Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Succ(x725))), Succ(Zero), Succ(Succ(x725)))))), Integer(Neg(Succ(Succ(Succ(Succ(Succ(x725))))))), Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))))) We simplified constraint (16) using rules (III), (IV) which results in the following new constraint: (20) (new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))), Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Zero)), Succ(Zero), Succ(Zero))))), Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))), Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))))) We simplified constraint (17) using rules (III), (IV) which results in the following new constraint: (21) (new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))), Integer(Neg(Succ(Succ(Succ(Succ(Succ(x730))))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(Succ(Succ(Succ(x730))), Succ(Succ(Zero)), Succ(Succ(x730)), Succ(Zero))))), Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))), Integer(Neg(Succ(Succ(Succ(Succ(Succ(x730))))))))) We simplified constraint (12) using rules (III), (IV), (VII) which results in the following new constraint: (22) (new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(Zero))))), Integer(Neg(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(Succ(Zero), Succ(Zero), Zero, Zero)))), Integer(Neg(Succ(Succ(Succ(Zero))))), Integer(Neg(Succ(Succ(Succ(Zero))))))) We simplified constraint (13) using rules (III), (IV), (VII) which results in the following new constraint: (23) (new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(Zero))))), Integer(Neg(Succ(Succ(Succ(Succ(x717)))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(Succ(Succ(x717)), Succ(Zero), Succ(x717), Zero)))), Integer(Neg(Succ(Succ(Succ(Zero))))), Integer(Neg(Succ(Succ(Succ(Succ(x717)))))))) For Pair new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) the following chains were created: *We consider the chain new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x447))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(Succ(x447))))), Integer(Neg(Succ(Succ(Zero))))), new_gcd0Gcd'10(False, x448, x449) -> new_gcd0Gcd'00(x448, new_rem0(x449, x448)) which results in the following constraint: (1) (new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(Succ(x447))))), Integer(Neg(Succ(Succ(Zero)))))=new_gcd0Gcd'10(False, x448, x449) ==> new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x447))))), Integer(Neg(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(Succ(x447))))), Integer(Neg(Succ(Succ(Zero)))))) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x447))))), Integer(Neg(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(Succ(x447))))), Integer(Neg(Succ(Succ(Zero)))))) For Pair new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) the following chains were created: *We consider the chain new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x467)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x467), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x467)))))), new_gcd0Gcd'10(False, x468, x469) -> new_gcd0Gcd'00(x468, new_rem0(x469, x468)) which results in the following constraint: (1) (new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x467), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x467))))))=new_gcd0Gcd'10(False, x468, x469) ==> new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x467))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x467), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x467))))))) We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: (2) (Integer(Neg(new_primModNatS1(Succ(x467), Succ(Zero))))=x745 & new_esEs0(x745)=False ==> new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x467))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x467), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x467))))))) We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_esEs0(x745)=False which results in the following new constraints: (3) (False=False & Integer(Neg(new_primModNatS1(Succ(x467), Succ(Zero))))=Integer(Neg(Succ(x746))) ==> new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x467))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x467), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x467))))))) (4) (False=False & Integer(Neg(new_primModNatS1(Succ(x467), Succ(Zero))))=Integer(Pos(Succ(x747))) ==> new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x467))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x467), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x467))))))) We simplified constraint (3) using rules (I), (II), (VII) which results in the following new constraint: (5) (Succ(x467)=x748 & Succ(Zero)=x749 & new_primModNatS1(x748, x749)=Succ(x746) ==> new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x467))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x467), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x467))))))) We solved constraint (4) using rules (I), (II).We simplified constraint (5) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS1(x748, x749)=Succ(x746) which results in the following new constraints: (6) (Succ(Zero)=Succ(x746) & Succ(x467)=Succ(Zero) & Succ(Zero)=Succ(x750) ==> new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x467))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x467), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x467))))))) (7) (new_primModNatS01(x752, x751, x752, x751)=Succ(x746) & Succ(x467)=Succ(Succ(x752)) & Succ(Zero)=Succ(x751) ==> new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x467))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x467), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x467))))))) (8) (new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero)=Succ(x746) & Succ(x467)=Succ(Zero) & Succ(Zero)=Zero ==> new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x467))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x467), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x467))))))) (9) (new_primModNatS1(new_primMinusNatS0(Succ(x754), Zero), Zero)=Succ(x746) & Succ(x467)=Succ(Succ(x754)) & Succ(Zero)=Zero ==> new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x467))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x467), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x467))))))) We simplified constraint (6) using rules (I), (II), (III), (IV) which results in the following new constraint: (10) (new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(Zero), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(Zero))))))) We simplified constraint (7) using rules (I), (II), (III), (VII) which results in the following new constraint: (11) (x752=x755 & x751=x756 & new_primModNatS01(x752, x751, x755, x756)=Succ(x746) & Zero=x751 ==> new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(Succ(x752)))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(Succ(x752)), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(Succ(x752)))))))) We solved constraint (8) using rules (I), (II).We solved constraint (9) using rules (I), (II).We simplified constraint (11) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x752, x751, x755, x756)=Succ(x746) which results in the following new constraints: (12) (new_primModNatS01(x760, x759, x758, x757)=Succ(x746) & x760=Succ(x758) & x759=Succ(x757) & Zero=x759 & (\/x761:new_primModNatS01(x760, x759, x758, x757)=Succ(x761) & x760=x758 & x759=x757 & Zero=x759 ==> new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(Succ(x760)))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(Succ(x760)), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(Succ(x760)))))))) ==> new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(Succ(x760)))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(Succ(x760)), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(Succ(x760)))))))) (13) (Succ(Succ(x764))=Succ(x746) & x764=Zero & x763=Succ(x762) & Zero=x763 ==> new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(Succ(x764)))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(Succ(x764)), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(Succ(x764)))))))) (14) (new_primModNatS02(x766, x765)=Succ(x746) & x766=Zero & x765=Zero & Zero=x765 ==> new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(Succ(x766)))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(Succ(x766)), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(Succ(x766)))))))) (15) (new_primModNatS02(x769, x768)=Succ(x746) & x769=Succ(x767) & x768=Zero & Zero=x768 ==> new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(Succ(x769)))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(Succ(x769)), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(Succ(x769)))))))) We solved constraint (12) using rules (I), (II), (III).We solved constraint (13) using rules (I), (II), (III), (IV).We simplified constraint (14) using rules (I), (II), (III), (IV), (VII) which results in the following new constraint: (16) (new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(Succ(Zero)), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))))) We simplified constraint (15) using rules (I), (II), (III), (IV), (VII) which results in the following new constraint: (17) (new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(Succ(Succ(x767))))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(Succ(Succ(x767))), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(Succ(Succ(x767))))))))) To summarize, we get the following constraints P__>=_ for the following pairs. *new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) *(new_gcd0Gcd'(Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Zero))))_>=_new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Zero))))) *new_gcd0Gcd'10(False, vuz97, vuz99) -> new_gcd0Gcd'00(vuz97, new_rem0(vuz99, vuz97)) *(new_gcd0Gcd'10(False, x24, x25)_>=_new_gcd0Gcd'00(x24, new_rem0(x25, x24))) *new_gcd0Gcd'00(vuz97, vuz109) -> new_gcd0Gcd'(vuz109, vuz97) *(new_gcd0Gcd'00(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x60)))))_>=_new_gcd0Gcd'(Integer(Neg(Succ(Succ(x60)))), Integer(Pos(Succ(Zero))))) *(new_gcd0Gcd'00(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x67)))))_>=_new_gcd0Gcd'(Integer(Pos(Succ(Succ(x67)))), Integer(Pos(Succ(Zero))))) *(new_gcd0Gcd'00(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x70)))))_>=_new_gcd0Gcd'(Integer(Pos(Succ(Succ(x70)))), Integer(Neg(Succ(Zero))))) *(new_gcd0Gcd'00(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x73)))))_>=_new_gcd0Gcd'(Integer(Neg(Succ(Succ(x73)))), Integer(Neg(Succ(Zero))))) *(new_gcd0Gcd'00(Integer(Pos(Succ(Succ(Succ(x77))))), Integer(Neg(Succ(Succ(Succ(x76))))))_>=_new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x76))))), Integer(Pos(Succ(Succ(Succ(x77))))))) *(new_gcd0Gcd'00(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x80))))))_>=_new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x80))))), Integer(Pos(Succ(Succ(Zero)))))) *(new_gcd0Gcd'00(Integer(Pos(Succ(Succ(Succ(x83))))), Integer(Neg(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x83))))))) *(new_gcd0Gcd'00(Integer(Pos(Succ(Succ(Succ(x87))))), Integer(Pos(Succ(Succ(Succ(x86))))))_>=_new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x86))))), Integer(Pos(Succ(Succ(Succ(x87))))))) *(new_gcd0Gcd'00(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x90))))))_>=_new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x90))))), Integer(Pos(Succ(Succ(Zero)))))) *(new_gcd0Gcd'00(Integer(Pos(Succ(Succ(Succ(x93))))), Integer(Pos(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x93))))))) *(new_gcd0Gcd'00(Integer(Neg(Succ(Succ(Succ(x97))))), Integer(Pos(Succ(Succ(Succ(x96))))))_>=_new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x96))))), Integer(Neg(Succ(Succ(Succ(x97))))))) *(new_gcd0Gcd'00(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x100))))))_>=_new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x100))))), Integer(Neg(Succ(Succ(Zero)))))) *(new_gcd0Gcd'00(Integer(Neg(Succ(Succ(Succ(x103))))), Integer(Pos(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x103))))))) *(new_gcd0Gcd'00(Integer(Neg(Succ(Succ(Succ(x107))))), Integer(Neg(Succ(Succ(Succ(x106))))))_>=_new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x106))))), Integer(Neg(Succ(Succ(Succ(x107))))))) *(new_gcd0Gcd'00(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x110))))))_>=_new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x110))))), Integer(Neg(Succ(Succ(Zero)))))) *(new_gcd0Gcd'00(Integer(Neg(Succ(Succ(Succ(x113))))), Integer(Neg(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x113))))))) *new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) *(new_gcd0Gcd'(Integer(Pos(Succ(Succ(x115)))), Integer(Pos(Succ(Zero))))_>=_new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(x115)))), Integer(Pos(Succ(Zero))))) *new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) *(new_gcd0Gcd'(Integer(Pos(Succ(Succ(x135)))), Integer(Neg(Succ(Zero))))_>=_new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(x135)))), Integer(Neg(Succ(Zero))))) *new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) *(new_gcd0Gcd'(Integer(Neg(Succ(Succ(x155)))), Integer(Neg(Succ(Zero))))_>=_new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(x155)))), Integer(Neg(Succ(Zero))))) *new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) *(new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(Succ(Succ(x509))))))), Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Succ(x509))), Succ(Zero), Succ(Succ(x509)))))), Integer(Neg(Succ(Succ(Succ(Succ(Succ(x509))))))), Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))))) *(new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(Succ(x496)))))), Integer(Pos(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(Zero), Succ(Succ(x496)), Zero, Succ(x496))))), Integer(Neg(Succ(Succ(Succ(Succ(x496)))))), Integer(Pos(Succ(Succ(Succ(Zero))))))) *(new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(Succ(Succ(x504))))))), Integer(Pos(Succ(Succ(Succ(Succ(Succ(x505))))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(Succ(Succ(x505))), Succ(Succ(Succ(x504))), Succ(Succ(x505)), Succ(Succ(x504)))))), Integer(Neg(Succ(Succ(Succ(Succ(Succ(x504))))))), Integer(Pos(Succ(Succ(Succ(Succ(Succ(x505))))))))) *(new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))), Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Zero)), Succ(Zero), Succ(Zero))))), Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))), Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))))) *(new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))), Integer(Pos(Succ(Succ(Succ(Succ(Succ(x514))))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(Succ(Succ(x514))), Succ(Succ(Zero)), Succ(Succ(x514)), Succ(Zero))))), Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))), Integer(Pos(Succ(Succ(Succ(Succ(Succ(x514))))))))) *(new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(Zero))))), Integer(Pos(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(Zero), Succ(Zero), Zero, Zero)))), Integer(Neg(Succ(Succ(Succ(Zero))))), Integer(Pos(Succ(Succ(Succ(Zero))))))) *(new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(Zero))))), Integer(Pos(Succ(Succ(Succ(Succ(x501)))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(Succ(x501)), Succ(Zero), Succ(x501), Zero)))), Integer(Neg(Succ(Succ(Succ(Zero))))), Integer(Pos(Succ(Succ(Succ(Succ(x501)))))))) *new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) *(new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x213))))), Integer(Pos(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(Succ(x213))))), Integer(Pos(Succ(Succ(Zero)))))) *new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) *(new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(Zero), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(Zero))))))) *(new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(Succ(Zero)), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))))) *(new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(Succ(Succ(x551))))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(Succ(Succ(x551))), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(Succ(Succ(x551))))))))) *new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) *(new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(Succ(Succ(x581))))))), Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Succ(x581))), Succ(Zero), Succ(Succ(x581)))))), Integer(Pos(Succ(Succ(Succ(Succ(Succ(x581))))))), Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))))) *(new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(Succ(x568)))))), Integer(Pos(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(Zero), Succ(Succ(x568)), Zero, Succ(x568))))), Integer(Pos(Succ(Succ(Succ(Succ(x568)))))), Integer(Pos(Succ(Succ(Succ(Zero))))))) *(new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(Succ(Succ(x576))))))), Integer(Pos(Succ(Succ(Succ(Succ(Succ(x577))))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(Succ(Succ(x577))), Succ(Succ(Succ(x576))), Succ(Succ(x577)), Succ(Succ(x576)))))), Integer(Pos(Succ(Succ(Succ(Succ(Succ(x576))))))), Integer(Pos(Succ(Succ(Succ(Succ(Succ(x577))))))))) *(new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))), Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Zero)), Succ(Zero), Succ(Zero))))), Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))), Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))))) *(new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))), Integer(Pos(Succ(Succ(Succ(Succ(Succ(x586))))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(Succ(Succ(x586))), Succ(Succ(Zero)), Succ(Succ(x586)), Succ(Zero))))), Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))), Integer(Pos(Succ(Succ(Succ(Succ(Succ(x586))))))))) *(new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(Zero))))), Integer(Pos(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(Zero), Succ(Zero), Zero, Zero)))), Integer(Pos(Succ(Succ(Succ(Zero))))), Integer(Pos(Succ(Succ(Succ(Zero))))))) *(new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(Zero))))), Integer(Pos(Succ(Succ(Succ(Succ(x573)))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(Succ(x573)), Succ(Zero), Succ(x573), Zero)))), Integer(Pos(Succ(Succ(Succ(Zero))))), Integer(Pos(Succ(Succ(Succ(Succ(x573)))))))) *new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) *(new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x291))))), Integer(Pos(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(Succ(x291))))), Integer(Pos(Succ(Succ(Zero)))))) *new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) *(new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(Zero), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(Zero))))))) *(new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(Succ(Zero)), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))))) *(new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(Succ(Succ(x623))))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(Succ(Succ(x623))), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(Succ(Succ(x623))))))))) *new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) *(new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(Succ(Succ(x653))))))), Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Succ(x653))), Succ(Zero), Succ(Succ(x653)))))), Integer(Pos(Succ(Succ(Succ(Succ(Succ(x653))))))), Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))))) *(new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(Succ(x640)))))), Integer(Neg(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(Succ(Zero), Succ(Succ(x640)), Zero, Succ(x640))))), Integer(Pos(Succ(Succ(Succ(Succ(x640)))))), Integer(Neg(Succ(Succ(Succ(Zero))))))) *(new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(Succ(Succ(x648))))))), Integer(Neg(Succ(Succ(Succ(Succ(Succ(x649))))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(Succ(Succ(Succ(x649))), Succ(Succ(Succ(x648))), Succ(Succ(x649)), Succ(Succ(x648)))))), Integer(Pos(Succ(Succ(Succ(Succ(Succ(x648))))))), Integer(Neg(Succ(Succ(Succ(Succ(Succ(x649))))))))) *(new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))), Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Zero)), Succ(Zero), Succ(Zero))))), Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))), Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))))) *(new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))), Integer(Neg(Succ(Succ(Succ(Succ(Succ(x658))))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(Succ(Succ(Succ(x658))), Succ(Succ(Zero)), Succ(Succ(x658)), Succ(Zero))))), Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))), Integer(Neg(Succ(Succ(Succ(Succ(Succ(x658))))))))) *(new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(Zero))))), Integer(Neg(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(Succ(Zero), Succ(Zero), Zero, Zero)))), Integer(Pos(Succ(Succ(Succ(Zero))))), Integer(Neg(Succ(Succ(Succ(Zero))))))) *(new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(Zero))))), Integer(Neg(Succ(Succ(Succ(Succ(x645)))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(Succ(Succ(x645)), Succ(Zero), Succ(x645), Zero)))), Integer(Pos(Succ(Succ(Succ(Zero))))), Integer(Neg(Succ(Succ(Succ(Succ(x645)))))))) *new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) *(new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x369))))), Integer(Neg(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(Succ(x369))))), Integer(Neg(Succ(Succ(Zero)))))) *new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) *(new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(Zero), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(Zero))))))) *(new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(Succ(Zero)), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))))) *(new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(Succ(Succ(x695))))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(Succ(Succ(x695))), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(Succ(Succ(x695))))))))) *new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) *(new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(Succ(Succ(x725))))))), Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Succ(x725))), Succ(Zero), Succ(Succ(x725)))))), Integer(Neg(Succ(Succ(Succ(Succ(Succ(x725))))))), Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))))) *(new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(Succ(x712)))))), Integer(Neg(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(Succ(Zero), Succ(Succ(x712)), Zero, Succ(x712))))), Integer(Neg(Succ(Succ(Succ(Succ(x712)))))), Integer(Neg(Succ(Succ(Succ(Zero))))))) *(new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(Succ(Succ(x720))))))), Integer(Neg(Succ(Succ(Succ(Succ(Succ(x721))))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(Succ(Succ(Succ(x721))), Succ(Succ(Succ(x720))), Succ(Succ(x721)), Succ(Succ(x720)))))), Integer(Neg(Succ(Succ(Succ(Succ(Succ(x720))))))), Integer(Neg(Succ(Succ(Succ(Succ(Succ(x721))))))))) *(new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))), Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Zero)), Succ(Zero), Succ(Zero))))), Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))), Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))))) *(new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))), Integer(Neg(Succ(Succ(Succ(Succ(Succ(x730))))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(Succ(Succ(Succ(x730))), Succ(Succ(Zero)), Succ(Succ(x730)), Succ(Zero))))), Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))), Integer(Neg(Succ(Succ(Succ(Succ(Succ(x730))))))))) *(new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(Zero))))), Integer(Neg(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(Succ(Zero), Succ(Zero), Zero, Zero)))), Integer(Neg(Succ(Succ(Succ(Zero))))), Integer(Neg(Succ(Succ(Succ(Zero))))))) *(new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(Zero))))), Integer(Neg(Succ(Succ(Succ(Succ(x717)))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(Succ(Succ(x717)), Succ(Zero), Succ(x717), Zero)))), Integer(Neg(Succ(Succ(Succ(Zero))))), Integer(Neg(Succ(Succ(Succ(Succ(x717)))))))) *new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) *(new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x447))))), Integer(Neg(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(Succ(x447))))), Integer(Neg(Succ(Succ(Zero)))))) *new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) *(new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(Zero), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(Zero))))))) *(new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(Succ(Zero)), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))))) *(new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(Succ(Succ(x767))))))))_>=_new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(Succ(Succ(x767))), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(Succ(Succ(x767))))))))) 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. ---------------------------------------- (874) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'10(False, vuz97, vuz99) -> new_gcd0Gcd'00(vuz97, new_rem0(vuz99, vuz97)) new_gcd0Gcd'00(vuz97, vuz109) -> new_gcd0Gcd'(vuz109, vuz97) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Integer(Neg(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) The TRS R consists of the following rules: new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Succ(vuz1290)) -> new_primModNatS01(vuz126, vuz127, vuz1280, vuz1290) new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) new_primMinusNatS0(Zero, Succ(vuz950)) -> Zero new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primMinusNatS0(Zero, Zero) -> Zero new_primMinusNatS0(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS0(vuz940, vuz950) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz126, vuz127, Zero, Succ(vuz1290)) -> Succ(Succ(vuz126)) new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error new_rem0(Integer(vuz990), Integer(vuz970)) -> Integer(new_primRemInt(vuz990, vuz970)) new_primModNatS02(vuz126, vuz127) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz126), Succ(vuz127)), Succ(vuz127)) new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_esEs0(Integer(Neg(Zero))) -> True new_primModNatS1(Zero, vuz7400) -> Zero new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error new_error -> error([]) new_esEs0(Integer(Neg(Succ(vuz101000)))) -> False new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS0(Zero, Zero), Zero) new_primModNatS01(vuz126, vuz127, Zero, Zero) -> new_primModNatS02(vuz126, vuz127) new_primModNatS01(vuz126, vuz127, Succ(vuz1280), Zero) -> new_primModNatS02(vuz126, vuz127) new_primMinusNatS0(Succ(vuz940), Zero) -> Succ(vuz940) new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(Succ(vuz75000), Zero), Zero) new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_esEs0(Integer(Pos(Zero))) -> True new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error new_esEs0(Integer(Pos(Succ(vuz101000)))) -> False The set Q consists of the following terms: new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_esEs0(Integer(Neg(Succ(x0)))) new_esEs0(Integer(Pos(Succ(x0)))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_esEs0(Integer(Neg(Zero))) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(Zero, Succ(x0)) new_esEs0(Integer(Pos(Zero))) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_primModNatS01(x0, x1, Zero, Zero) new_primMinusNatS0(Succ(x0), Zero) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_rem0(Integer(x0), Integer(x1)) new_primMinusNatS0(Succ(x0), Succ(x1)) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primMinusNatS0(Zero, Zero) new_primModNatS02(x0, x1) new_primModNatS1(Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (875) 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. ---------------------------------------- (876) 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 ---------------------------------------- (877) YES ---------------------------------------- (878) Obligation: Q DP problem: The TRS P consists of the following rules: new_primMinusNatS(Succ(vuz940), Succ(vuz950)) -> new_primMinusNatS(vuz940, vuz950) R is empty. Q is empty. We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (879) 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(vuz940), Succ(vuz950)) -> new_primMinusNatS(vuz940, vuz950) The graph contains the following edges 1 > 1, 2 > 2 ---------------------------------------- (880) YES ---------------------------------------- (881) 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. ---------------------------------------- (882) 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 ---------------------------------------- (883) YES ---------------------------------------- (884) 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. ---------------------------------------- (885) 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 ---------------------------------------- (886) YES ---------------------------------------- (887) 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"];1421[label="- :: Float -> Float -> Float",fontsize=10,color="white",style="solid",shape="box"];4 -> 1421[label="",style="solid", color="blue", weight=9]; 1421 -> 5[label="",style="solid", color="blue", weight=3]; 1422[label="- :: Int -> Int -> Int",fontsize=10,color="white",style="solid",shape="box"];4 -> 1422[label="",style="solid", color="blue", weight=9]; 1422 -> 6[label="",style="solid", color="blue", weight=3]; 1423[label="- :: (Ratio a) -> (Ratio a) -> Ratio a",fontsize=10,color="white",style="solid",shape="box"];4 -> 1423[label="",style="solid", color="blue", weight=9]; 1423 -> 7[label="",style="solid", color="blue", weight=3]; 1424[label="- :: Integer -> Integer -> Integer",fontsize=10,color="white",style="solid",shape="box"];4 -> 1424[label="",style="solid", color="blue", weight=9]; 1424 -> 8[label="",style="solid", color="blue", weight=3]; 1425[label="- :: Double -> Double -> Double",fontsize=10,color="white",style="solid",shape="box"];4 -> 1425[label="",style="solid", color="blue", weight=9]; 1425 -> 9[label="",style="solid", color="blue", weight=3]; 5[label="(-) vuz3 vuz4",fontsize=16,color="black",shape="box"];5 -> 10[label="",style="solid", color="black", weight=3]; 6[label="(-) vuz3 vuz4",fontsize=16,color="black",shape="triangle"];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="box"];1426[label="vuz3/Integer vuz30",fontsize=10,color="white",style="solid",shape="box"];8 -> 1426[label="",style="solid", color="burlywood", weight=9]; 1426 -> 13[label="",style="solid", color="burlywood", weight=3]; 9[label="(-) vuz3 vuz4",fontsize=16,color="black",shape="box"];9 -> 14[label="",style="solid", color="black", weight=3]; 10[label="primMinusFloat vuz3 vuz4",fontsize=16,color="burlywood",shape="box"];1427[label="vuz3/Float vuz30 vuz31",fontsize=10,color="white",style="solid",shape="box"];10 -> 1427[label="",style="solid", color="burlywood", weight=9]; 1427 -> 15[label="",style="solid", color="burlywood", weight=3]; 11[label="primMinusInt vuz3 vuz4",fontsize=16,color="burlywood",shape="triangle"];1428[label="vuz3/Pos vuz30",fontsize=10,color="white",style="solid",shape="box"];11 -> 1428[label="",style="solid", color="burlywood", weight=9]; 1428 -> 16[label="",style="solid", color="burlywood", weight=3]; 1429[label="vuz3/Neg vuz30",fontsize=10,color="white",style="solid",shape="box"];11 -> 1429[label="",style="solid", color="burlywood", weight=9]; 1429 -> 17[label="",style="solid", color="burlywood", weight=3]; 12[label="vuz3 + (negate vuz4)",fontsize=16,color="burlywood",shape="box"];1430[label="vuz3/vuz30 :% vuz31",fontsize=10,color="white",style="solid",shape="box"];12 -> 1430[label="",style="solid", color="burlywood", weight=9]; 1430 -> 18[label="",style="solid", color="burlywood", weight=3]; 13[label="(-) Integer vuz30 vuz4",fontsize=16,color="burlywood",shape="box"];1431[label="vuz4/Integer vuz40",fontsize=10,color="white",style="solid",shape="box"];13 -> 1431[label="",style="solid", color="burlywood", weight=9]; 1431 -> 19[label="",style="solid", color="burlywood", weight=3]; 14[label="primMinusDouble vuz3 vuz4",fontsize=16,color="burlywood",shape="box"];1432[label="vuz3/Double vuz30 vuz31",fontsize=10,color="white",style="solid",shape="box"];14 -> 1432[label="",style="solid", color="burlywood", weight=9]; 1432 -> 20[label="",style="solid", color="burlywood", weight=3]; 15[label="primMinusFloat (Float vuz30 vuz31) vuz4",fontsize=16,color="burlywood",shape="box"];1433[label="vuz4/Float vuz40 vuz41",fontsize=10,color="white",style="solid",shape="box"];15 -> 1433[label="",style="solid", color="burlywood", weight=9]; 1433 -> 21[label="",style="solid", color="burlywood", weight=3]; 16[label="primMinusInt (Pos vuz30) vuz4",fontsize=16,color="burlywood",shape="box"];1434[label="vuz4/Pos vuz40",fontsize=10,color="white",style="solid",shape="box"];16 -> 1434[label="",style="solid", color="burlywood", weight=9]; 1434 -> 22[label="",style="solid", color="burlywood", weight=3]; 1435[label="vuz4/Neg vuz40",fontsize=10,color="white",style="solid",shape="box"];16 -> 1435[label="",style="solid", color="burlywood", weight=9]; 1435 -> 23[label="",style="solid", color="burlywood", weight=3]; 17[label="primMinusInt (Neg vuz30) vuz4",fontsize=16,color="burlywood",shape="box"];1436[label="vuz4/Pos vuz40",fontsize=10,color="white",style="solid",shape="box"];17 -> 1436[label="",style="solid", color="burlywood", weight=9]; 1436 -> 24[label="",style="solid", color="burlywood", weight=3]; 1437[label="vuz4/Neg vuz40",fontsize=10,color="white",style="solid",shape="box"];17 -> 1437[label="",style="solid", color="burlywood", weight=9]; 1437 -> 25[label="",style="solid", color="burlywood", weight=3]; 18[label="vuz30 :% vuz31 + (negate vuz4)",fontsize=16,color="burlywood",shape="box"];1438[label="vuz4/vuz40 :% vuz41",fontsize=10,color="white",style="solid",shape="box"];18 -> 1438[label="",style="solid", color="burlywood", weight=9]; 1438 -> 26[label="",style="solid", color="burlywood", weight=3]; 19[label="(-) Integer vuz30 Integer vuz40",fontsize=16,color="black",shape="box"];19 -> 27[label="",style="solid", color="black", weight=3]; 20[label="primMinusDouble (Double vuz30 vuz31) vuz4",fontsize=16,color="burlywood",shape="box"];1439[label="vuz4/Double vuz40 vuz41",fontsize=10,color="white",style="solid",shape="box"];20 -> 1439[label="",style="solid", color="burlywood", weight=9]; 1439 -> 28[label="",style="solid", color="burlywood", weight=3]; 21[label="primMinusFloat (Float vuz30 vuz31) (Float vuz40 vuz41)",fontsize=16,color="black",shape="box"];21 -> 29[label="",style="solid", color="black", weight=3]; 22[label="primMinusInt (Pos vuz30) (Pos vuz40)",fontsize=16,color="black",shape="box"];22 -> 30[label="",style="solid", color="black", weight=3]; 23[label="primMinusInt (Pos vuz30) (Neg vuz40)",fontsize=16,color="black",shape="box"];23 -> 31[label="",style="solid", color="black", weight=3]; 24[label="primMinusInt (Neg vuz30) (Pos vuz40)",fontsize=16,color="black",shape="box"];24 -> 32[label="",style="solid", color="black", weight=3]; 25[label="primMinusInt (Neg vuz30) (Neg vuz40)",fontsize=16,color="black",shape="box"];25 -> 33[label="",style="solid", color="black", weight=3]; 26[label="vuz30 :% vuz31 + (negate vuz40 :% vuz41)",fontsize=16,color="black",shape="box"];26 -> 34[label="",style="solid", color="black", weight=3]; 27[label="Integer (primMinusInt vuz30 vuz40)",fontsize=16,color="green",shape="box"];27 -> 35[label="",style="dashed", color="green", weight=3]; 28[label="primMinusDouble (Double vuz30 vuz31) (Double vuz40 vuz41)",fontsize=16,color="black",shape="box"];28 -> 36[label="",style="solid", color="black", weight=3]; 29[label="Float (vuz30 * vuz41 - vuz40 * vuz31) (vuz31 * vuz41)",fontsize=16,color="green",shape="box"];29 -> 37[label="",style="dashed", color="green", weight=3]; 29 -> 38[label="",style="dashed", color="green", weight=3]; 30[label="primMinusNat vuz30 vuz40",fontsize=16,color="burlywood",shape="triangle"];1440[label="vuz30/Succ vuz300",fontsize=10,color="white",style="solid",shape="box"];30 -> 1440[label="",style="solid", color="burlywood", weight=9]; 1440 -> 39[label="",style="solid", color="burlywood", weight=3]; 1441[label="vuz30/Zero",fontsize=10,color="white",style="solid",shape="box"];30 -> 1441[label="",style="solid", color="burlywood", weight=9]; 1441 -> 40[label="",style="solid", color="burlywood", weight=3]; 31[label="Pos (primPlusNat vuz30 vuz40)",fontsize=16,color="green",shape="box"];31 -> 41[label="",style="dashed", color="green", weight=3]; 32[label="Neg (primPlusNat vuz30 vuz40)",fontsize=16,color="green",shape="box"];32 -> 42[label="",style="dashed", color="green", weight=3]; 33 -> 30[label="",style="dashed", color="red", weight=0]; 33[label="primMinusNat vuz40 vuz30",fontsize=16,color="magenta"];33 -> 43[label="",style="dashed", color="magenta", weight=3]; 33 -> 44[label="",style="dashed", color="magenta", weight=3]; 34 -> 45[label="",style="dashed", color="red", weight=0]; 34[label="vuz30 :% vuz31 + (negate vuz40) :% vuz41",fontsize=16,color="magenta"];34 -> 46[label="",style="dashed", color="magenta", weight=3]; 34 -> 47[label="",style="dashed", color="magenta", weight=3]; 34 -> 48[label="",style="dashed", color="magenta", weight=3]; 34 -> 49[label="",style="dashed", color="magenta", weight=3]; 35 -> 11[label="",style="dashed", color="red", weight=0]; 35[label="primMinusInt vuz30 vuz40",fontsize=16,color="magenta"];35 -> 50[label="",style="dashed", color="magenta", weight=3]; 35 -> 51[label="",style="dashed", color="magenta", weight=3]; 36[label="Double (vuz30 * vuz41 - vuz40 * vuz31) (vuz31 * vuz41)",fontsize=16,color="green",shape="box"];36 -> 52[label="",style="dashed", color="green", weight=3]; 36 -> 53[label="",style="dashed", color="green", weight=3]; 37 -> 6[label="",style="dashed", color="red", weight=0]; 37[label="vuz30 * vuz41 - vuz40 * vuz31",fontsize=16,color="magenta"];37 -> 54[label="",style="dashed", color="magenta", weight=3]; 37 -> 55[label="",style="dashed", color="magenta", weight=3]; 38[label="vuz31 * vuz41",fontsize=16,color="black",shape="triangle"];38 -> 56[label="",style="solid", color="black", weight=3]; 39[label="primMinusNat (Succ vuz300) vuz40",fontsize=16,color="burlywood",shape="box"];1442[label="vuz40/Succ vuz400",fontsize=10,color="white",style="solid",shape="box"];39 -> 1442[label="",style="solid", color="burlywood", weight=9]; 1442 -> 57[label="",style="solid", color="burlywood", weight=3]; 1443[label="vuz40/Zero",fontsize=10,color="white",style="solid",shape="box"];39 -> 1443[label="",style="solid", color="burlywood", weight=9]; 1443 -> 58[label="",style="solid", color="burlywood", weight=3]; 40[label="primMinusNat Zero vuz40",fontsize=16,color="burlywood",shape="box"];1444[label="vuz40/Succ vuz400",fontsize=10,color="white",style="solid",shape="box"];40 -> 1444[label="",style="solid", color="burlywood", weight=9]; 1444 -> 59[label="",style="solid", color="burlywood", weight=3]; 1445[label="vuz40/Zero",fontsize=10,color="white",style="solid",shape="box"];40 -> 1445[label="",style="solid", color="burlywood", weight=9]; 1445 -> 60[label="",style="solid", color="burlywood", weight=3]; 41[label="primPlusNat vuz30 vuz40",fontsize=16,color="burlywood",shape="triangle"];1446[label="vuz30/Succ vuz300",fontsize=10,color="white",style="solid",shape="box"];41 -> 1446[label="",style="solid", color="burlywood", weight=9]; 1446 -> 61[label="",style="solid", color="burlywood", weight=3]; 1447[label="vuz30/Zero",fontsize=10,color="white",style="solid",shape="box"];41 -> 1447[label="",style="solid", color="burlywood", weight=9]; 1447 -> 62[label="",style="solid", color="burlywood", weight=3]; 42 -> 41[label="",style="dashed", color="red", weight=0]; 42[label="primPlusNat vuz30 vuz40",fontsize=16,color="magenta"];42 -> 63[label="",style="dashed", color="magenta", weight=3]; 42 -> 64[label="",style="dashed", color="magenta", weight=3]; 43[label="vuz40",fontsize=16,color="green",shape="box"];44[label="vuz30",fontsize=16,color="green",shape="box"];46[label="vuz41",fontsize=16,color="green",shape="box"];47[label="vuz30",fontsize=16,color="green",shape="box"];48[label="negate vuz40",fontsize=16,color="blue",shape="box"];1448[label="negate :: Int -> Int",fontsize=10,color="white",style="solid",shape="box"];48 -> 1448[label="",style="solid", color="blue", weight=9]; 1448 -> 65[label="",style="solid", color="blue", weight=3]; 1449[label="negate :: Integer -> Integer",fontsize=10,color="white",style="solid",shape="box"];48 -> 1449[label="",style="solid", color="blue", weight=9]; 1449 -> 66[label="",style="solid", color="blue", weight=3]; 49[label="vuz31",fontsize=16,color="green",shape="box"];45[label="vuz10 :% vuz11 + vuz12 :% vuz13",fontsize=16,color="black",shape="triangle"];45 -> 67[label="",style="solid", color="black", weight=3]; 50[label="vuz40",fontsize=16,color="green",shape="box"];51[label="vuz30",fontsize=16,color="green",shape="box"];52 -> 6[label="",style="dashed", color="red", weight=0]; 52[label="vuz30 * vuz41 - vuz40 * vuz31",fontsize=16,color="magenta"];52 -> 68[label="",style="dashed", color="magenta", weight=3]; 52 -> 69[label="",style="dashed", color="magenta", weight=3]; 53 -> 38[label="",style="dashed", color="red", weight=0]; 53[label="vuz31 * vuz41",fontsize=16,color="magenta"];53 -> 70[label="",style="dashed", color="magenta", weight=3]; 53 -> 71[label="",style="dashed", color="magenta", weight=3]; 54 -> 38[label="",style="dashed", color="red", weight=0]; 54[label="vuz40 * vuz31",fontsize=16,color="magenta"];54 -> 72[label="",style="dashed", color="magenta", weight=3]; 54 -> 73[label="",style="dashed", color="magenta", weight=3]; 55 -> 38[label="",style="dashed", color="red", weight=0]; 55[label="vuz30 * vuz41",fontsize=16,color="magenta"];55 -> 74[label="",style="dashed", color="magenta", weight=3]; 56[label="primMulInt vuz31 vuz41",fontsize=16,color="burlywood",shape="triangle"];1450[label="vuz31/Pos vuz310",fontsize=10,color="white",style="solid",shape="box"];56 -> 1450[label="",style="solid", color="burlywood", weight=9]; 1450 -> 75[label="",style="solid", color="burlywood", weight=3]; 1451[label="vuz31/Neg vuz310",fontsize=10,color="white",style="solid",shape="box"];56 -> 1451[label="",style="solid", color="burlywood", weight=9]; 1451 -> 76[label="",style="solid", color="burlywood", weight=3]; 57[label="primMinusNat (Succ vuz300) (Succ vuz400)",fontsize=16,color="black",shape="box"];57 -> 77[label="",style="solid", color="black", weight=3]; 58[label="primMinusNat (Succ vuz300) Zero",fontsize=16,color="black",shape="box"];58 -> 78[label="",style="solid", color="black", weight=3]; 59[label="primMinusNat Zero (Succ vuz400)",fontsize=16,color="black",shape="box"];59 -> 79[label="",style="solid", color="black", weight=3]; 60[label="primMinusNat Zero Zero",fontsize=16,color="black",shape="box"];60 -> 80[label="",style="solid", color="black", weight=3]; 61[label="primPlusNat (Succ vuz300) vuz40",fontsize=16,color="burlywood",shape="box"];1452[label="vuz40/Succ vuz400",fontsize=10,color="white",style="solid",shape="box"];61 -> 1452[label="",style="solid", color="burlywood", weight=9]; 1452 -> 81[label="",style="solid", color="burlywood", weight=3]; 1453[label="vuz40/Zero",fontsize=10,color="white",style="solid",shape="box"];61 -> 1453[label="",style="solid", color="burlywood", weight=9]; 1453 -> 82[label="",style="solid", color="burlywood", weight=3]; 62[label="primPlusNat Zero vuz40",fontsize=16,color="burlywood",shape="box"];1454[label="vuz40/Succ vuz400",fontsize=10,color="white",style="solid",shape="box"];62 -> 1454[label="",style="solid", color="burlywood", weight=9]; 1454 -> 83[label="",style="solid", color="burlywood", weight=3]; 1455[label="vuz40/Zero",fontsize=10,color="white",style="solid",shape="box"];62 -> 1455[label="",style="solid", color="burlywood", weight=9]; 1455 -> 84[label="",style="solid", color="burlywood", weight=3]; 63[label="vuz40",fontsize=16,color="green",shape="box"];64[label="vuz30",fontsize=16,color="green",shape="box"];65[label="negate vuz40",fontsize=16,color="black",shape="triangle"];65 -> 85[label="",style="solid", color="black", weight=3]; 66[label="negate vuz40",fontsize=16,color="burlywood",shape="triangle"];1456[label="vuz40/Integer vuz400",fontsize=10,color="white",style="solid",shape="box"];66 -> 1456[label="",style="solid", color="burlywood", weight=9]; 1456 -> 86[label="",style="solid", color="burlywood", weight=3]; 67[label="reduce (vuz10 * vuz13 + vuz12 * vuz11) (vuz11 * vuz13)",fontsize=16,color="black",shape="box"];67 -> 87[label="",style="solid", color="black", weight=3]; 68 -> 38[label="",style="dashed", color="red", weight=0]; 68[label="vuz40 * vuz31",fontsize=16,color="magenta"];68 -> 88[label="",style="dashed", color="magenta", weight=3]; 68 -> 89[label="",style="dashed", color="magenta", weight=3]; 69 -> 38[label="",style="dashed", color="red", weight=0]; 69[label="vuz30 * vuz41",fontsize=16,color="magenta"];69 -> 90[label="",style="dashed", color="magenta", weight=3]; 69 -> 91[label="",style="dashed", color="magenta", weight=3]; 70[label="vuz41",fontsize=16,color="green",shape="box"];71[label="vuz31",fontsize=16,color="green",shape="box"];72[label="vuz31",fontsize=16,color="green",shape="box"];73[label="vuz40",fontsize=16,color="green",shape="box"];74[label="vuz30",fontsize=16,color="green",shape="box"];75[label="primMulInt (Pos vuz310) vuz41",fontsize=16,color="burlywood",shape="box"];1457[label="vuz41/Pos vuz410",fontsize=10,color="white",style="solid",shape="box"];75 -> 1457[label="",style="solid", color="burlywood", weight=9]; 1457 -> 92[label="",style="solid", color="burlywood", weight=3]; 1458[label="vuz41/Neg vuz410",fontsize=10,color="white",style="solid",shape="box"];75 -> 1458[label="",style="solid", color="burlywood", weight=9]; 1458 -> 93[label="",style="solid", color="burlywood", weight=3]; 76[label="primMulInt (Neg vuz310) vuz41",fontsize=16,color="burlywood",shape="box"];1459[label="vuz41/Pos vuz410",fontsize=10,color="white",style="solid",shape="box"];76 -> 1459[label="",style="solid", color="burlywood", weight=9]; 1459 -> 94[label="",style="solid", color="burlywood", weight=3]; 1460[label="vuz41/Neg vuz410",fontsize=10,color="white",style="solid",shape="box"];76 -> 1460[label="",style="solid", color="burlywood", weight=9]; 1460 -> 95[label="",style="solid", color="burlywood", weight=3]; 77 -> 30[label="",style="dashed", color="red", weight=0]; 77[label="primMinusNat vuz300 vuz400",fontsize=16,color="magenta"];77 -> 96[label="",style="dashed", color="magenta", weight=3]; 77 -> 97[label="",style="dashed", color="magenta", weight=3]; 78[label="Pos (Succ vuz300)",fontsize=16,color="green",shape="box"];79[label="Neg (Succ vuz400)",fontsize=16,color="green",shape="box"];80[label="Pos Zero",fontsize=16,color="green",shape="box"];81[label="primPlusNat (Succ vuz300) (Succ vuz400)",fontsize=16,color="black",shape="box"];81 -> 98[label="",style="solid", color="black", weight=3]; 82[label="primPlusNat (Succ vuz300) Zero",fontsize=16,color="black",shape="box"];82 -> 99[label="",style="solid", color="black", weight=3]; 83[label="primPlusNat Zero (Succ vuz400)",fontsize=16,color="black",shape="box"];83 -> 100[label="",style="solid", color="black", weight=3]; 84[label="primPlusNat Zero Zero",fontsize=16,color="black",shape="box"];84 -> 101[label="",style="solid", color="black", weight=3]; 85[label="primNegInt vuz40",fontsize=16,color="burlywood",shape="triangle"];1461[label="vuz40/Pos vuz400",fontsize=10,color="white",style="solid",shape="box"];85 -> 1461[label="",style="solid", color="burlywood", weight=9]; 1461 -> 102[label="",style="solid", color="burlywood", weight=3]; 1462[label="vuz40/Neg vuz400",fontsize=10,color="white",style="solid",shape="box"];85 -> 1462[label="",style="solid", color="burlywood", weight=9]; 1462 -> 103[label="",style="solid", color="burlywood", weight=3]; 86[label="negate Integer vuz400",fontsize=16,color="black",shape="box"];86 -> 104[label="",style="solid", color="black", weight=3]; 87[label="reduce2 (vuz10 * vuz13 + vuz12 * vuz11) (vuz11 * vuz13)",fontsize=16,color="black",shape="box"];87 -> 105[label="",style="solid", color="black", weight=3]; 88[label="vuz31",fontsize=16,color="green",shape="box"];89[label="vuz40",fontsize=16,color="green",shape="box"];90[label="vuz41",fontsize=16,color="green",shape="box"];91[label="vuz30",fontsize=16,color="green",shape="box"];92[label="primMulInt (Pos vuz310) (Pos vuz410)",fontsize=16,color="black",shape="box"];92 -> 106[label="",style="solid", color="black", weight=3]; 93[label="primMulInt (Pos vuz310) (Neg vuz410)",fontsize=16,color="black",shape="box"];93 -> 107[label="",style="solid", color="black", weight=3]; 94[label="primMulInt (Neg vuz310) (Pos vuz410)",fontsize=16,color="black",shape="box"];94 -> 108[label="",style="solid", color="black", weight=3]; 95[label="primMulInt (Neg vuz310) (Neg vuz410)",fontsize=16,color="black",shape="box"];95 -> 109[label="",style="solid", color="black", weight=3]; 96[label="vuz300",fontsize=16,color="green",shape="box"];97[label="vuz400",fontsize=16,color="green",shape="box"];98[label="Succ (Succ (primPlusNat vuz300 vuz400))",fontsize=16,color="green",shape="box"];98 -> 110[label="",style="dashed", color="green", weight=3]; 99[label="Succ vuz300",fontsize=16,color="green",shape="box"];100[label="Succ vuz400",fontsize=16,color="green",shape="box"];101[label="Zero",fontsize=16,color="green",shape="box"];102[label="primNegInt (Pos vuz400)",fontsize=16,color="black",shape="box"];102 -> 111[label="",style="solid", color="black", weight=3]; 103[label="primNegInt (Neg vuz400)",fontsize=16,color="black",shape="box"];103 -> 112[label="",style="solid", color="black", weight=3]; 104[label="Integer (primNegInt vuz400)",fontsize=16,color="green",shape="box"];104 -> 113[label="",style="dashed", color="green", weight=3]; 105 -> 114[label="",style="dashed", color="red", weight=0]; 105[label="reduce2Reduce1 (vuz10 * vuz13 + vuz12 * vuz11) (vuz11 * vuz13) (vuz10 * vuz13 + vuz12 * vuz11) (vuz11 * vuz13) (vuz11 * vuz13 == fromInt (Pos Zero))",fontsize=16,color="magenta"];105 -> 115[label="",style="dashed", color="magenta", weight=3]; 105 -> 116[label="",style="dashed", color="magenta", weight=3]; 105 -> 117[label="",style="dashed", color="magenta", weight=3]; 105 -> 118[label="",style="dashed", color="magenta", weight=3]; 105 -> 119[label="",style="dashed", color="magenta", weight=3]; 106[label="Pos (primMulNat vuz310 vuz410)",fontsize=16,color="green",shape="box"];106 -> 120[label="",style="dashed", color="green", weight=3]; 107[label="Neg (primMulNat vuz310 vuz410)",fontsize=16,color="green",shape="box"];107 -> 121[label="",style="dashed", color="green", weight=3]; 108[label="Neg (primMulNat vuz310 vuz410)",fontsize=16,color="green",shape="box"];108 -> 122[label="",style="dashed", color="green", weight=3]; 109[label="Pos (primMulNat vuz310 vuz410)",fontsize=16,color="green",shape="box"];109 -> 123[label="",style="dashed", color="green", weight=3]; 110 -> 41[label="",style="dashed", color="red", weight=0]; 110[label="primPlusNat vuz300 vuz400",fontsize=16,color="magenta"];110 -> 124[label="",style="dashed", color="magenta", weight=3]; 110 -> 125[label="",style="dashed", color="magenta", weight=3]; 111[label="Neg vuz400",fontsize=16,color="green",shape="box"];112[label="Pos vuz400",fontsize=16,color="green",shape="box"];113 -> 85[label="",style="dashed", color="red", weight=0]; 113[label="primNegInt vuz400",fontsize=16,color="magenta"];113 -> 126[label="",style="dashed", color="magenta", weight=3]; 115[label="vuz13",fontsize=16,color="green",shape="box"];116[label="vuz12",fontsize=16,color="green",shape="box"];117[label="vuz10",fontsize=16,color="green",shape="box"];118[label="vuz11 * vuz13 == fromInt (Pos Zero)",fontsize=16,color="blue",shape="box"];1463[label="== :: Integer -> Integer -> Bool",fontsize=10,color="white",style="solid",shape="box"];118 -> 1463[label="",style="solid", color="blue", weight=9]; 1463 -> 127[label="",style="solid", color="blue", weight=3]; 1464[label="== :: Int -> Int -> Bool",fontsize=10,color="white",style="solid",shape="box"];118 -> 1464[label="",style="solid", color="blue", weight=9]; 1464 -> 128[label="",style="solid", color="blue", weight=3]; 119[label="vuz11",fontsize=16,color="green",shape="box"];114[label="reduce2Reduce1 (vuz20 * vuz21 + vuz22 * vuz23) (vuz23 * vuz21) (vuz20 * vuz21 + vuz22 * vuz23) (vuz23 * vuz21) vuz24",fontsize=16,color="burlywood",shape="triangle"];1465[label="vuz24/False",fontsize=10,color="white",style="solid",shape="box"];114 -> 1465[label="",style="solid", color="burlywood", weight=9]; 1465 -> 129[label="",style="solid", color="burlywood", weight=3]; 1466[label="vuz24/True",fontsize=10,color="white",style="solid",shape="box"];114 -> 1466[label="",style="solid", color="burlywood", weight=9]; 1466 -> 130[label="",style="solid", color="burlywood", weight=3]; 120[label="primMulNat vuz310 vuz410",fontsize=16,color="burlywood",shape="triangle"];1467[label="vuz310/Succ vuz3100",fontsize=10,color="white",style="solid",shape="box"];120 -> 1467[label="",style="solid", color="burlywood", weight=9]; 1467 -> 131[label="",style="solid", color="burlywood", weight=3]; 1468[label="vuz310/Zero",fontsize=10,color="white",style="solid",shape="box"];120 -> 1468[label="",style="solid", color="burlywood", weight=9]; 1468 -> 132[label="",style="solid", color="burlywood", weight=3]; 121 -> 120[label="",style="dashed", color="red", weight=0]; 121[label="primMulNat vuz310 vuz410",fontsize=16,color="magenta"];121 -> 133[label="",style="dashed", color="magenta", weight=3]; 122 -> 120[label="",style="dashed", color="red", weight=0]; 122[label="primMulNat vuz310 vuz410",fontsize=16,color="magenta"];122 -> 134[label="",style="dashed", color="magenta", weight=3]; 123 -> 120[label="",style="dashed", color="red", weight=0]; 123[label="primMulNat vuz310 vuz410",fontsize=16,color="magenta"];123 -> 135[label="",style="dashed", color="magenta", weight=3]; 123 -> 136[label="",style="dashed", color="magenta", weight=3]; 124[label="vuz400",fontsize=16,color="green",shape="box"];125[label="vuz300",fontsize=16,color="green",shape="box"];126[label="vuz400",fontsize=16,color="green",shape="box"];127 -> 1043[label="",style="dashed", color="red", weight=0]; 127[label="vuz11 * vuz13 == fromInt (Pos Zero)",fontsize=16,color="magenta"];127 -> 1044[label="",style="dashed", color="magenta", weight=3]; 128 -> 138[label="",style="dashed", color="red", weight=0]; 128[label="vuz11 * vuz13 == fromInt (Pos Zero)",fontsize=16,color="magenta"];128 -> 139[label="",style="dashed", color="magenta", weight=3]; 129[label="reduce2Reduce1 (vuz20 * vuz21 + vuz22 * vuz23) (vuz23 * vuz21) (vuz20 * vuz21 + vuz22 * vuz23) (vuz23 * vuz21) False",fontsize=16,color="black",shape="box"];129 -> 140[label="",style="solid", color="black", weight=3]; 130[label="reduce2Reduce1 (vuz20 * vuz21 + vuz22 * vuz23) (vuz23 * vuz21) (vuz20 * vuz21 + vuz22 * vuz23) (vuz23 * vuz21) True",fontsize=16,color="black",shape="box"];130 -> 141[label="",style="solid", color="black", weight=3]; 131[label="primMulNat (Succ vuz3100) vuz410",fontsize=16,color="burlywood",shape="box"];1469[label="vuz410/Succ vuz4100",fontsize=10,color="white",style="solid",shape="box"];131 -> 1469[label="",style="solid", color="burlywood", weight=9]; 1469 -> 142[label="",style="solid", color="burlywood", weight=3]; 1470[label="vuz410/Zero",fontsize=10,color="white",style="solid",shape="box"];131 -> 1470[label="",style="solid", color="burlywood", weight=9]; 1470 -> 143[label="",style="solid", color="burlywood", weight=3]; 132[label="primMulNat Zero vuz410",fontsize=16,color="burlywood",shape="box"];1471[label="vuz410/Succ vuz4100",fontsize=10,color="white",style="solid",shape="box"];132 -> 1471[label="",style="solid", color="burlywood", weight=9]; 1471 -> 144[label="",style="solid", color="burlywood", weight=3]; 1472[label="vuz410/Zero",fontsize=10,color="white",style="solid",shape="box"];132 -> 1472[label="",style="solid", color="burlywood", weight=9]; 1472 -> 145[label="",style="solid", color="burlywood", weight=3]; 133[label="vuz410",fontsize=16,color="green",shape="box"];134[label="vuz310",fontsize=16,color="green",shape="box"];135[label="vuz310",fontsize=16,color="green",shape="box"];136[label="vuz410",fontsize=16,color="green",shape="box"];1044[label="vuz11 * vuz13",fontsize=16,color="burlywood",shape="triangle"];1473[label="vuz11/Integer vuz110",fontsize=10,color="white",style="solid",shape="box"];1044 -> 1473[label="",style="solid", color="burlywood", weight=9]; 1473 -> 1054[label="",style="solid", color="burlywood", weight=3]; 1043[label="vuz101 == fromInt (Pos Zero)",fontsize=16,color="burlywood",shape="triangle"];1474[label="vuz101/Integer vuz1010",fontsize=10,color="white",style="solid",shape="box"];1043 -> 1474[label="",style="solid", color="burlywood", weight=9]; 1474 -> 1055[label="",style="solid", color="burlywood", weight=3]; 139 -> 38[label="",style="dashed", color="red", weight=0]; 139[label="vuz11 * vuz13",fontsize=16,color="magenta"];139 -> 147[label="",style="dashed", color="magenta", weight=3]; 139 -> 148[label="",style="dashed", color="magenta", weight=3]; 138[label="vuz25 == fromInt (Pos Zero)",fontsize=16,color="black",shape="triangle"];138 -> 149[label="",style="solid", color="black", weight=3]; 140[label="reduce2Reduce0 (vuz20 * vuz21 + vuz22 * vuz23) (vuz23 * vuz21) (vuz20 * vuz21 + vuz22 * vuz23) (vuz23 * vuz21) otherwise",fontsize=16,color="black",shape="box"];140 -> 150[label="",style="solid", color="black", weight=3]; 141[label="error []",fontsize=16,color="black",shape="box"];141 -> 151[label="",style="solid", color="black", weight=3]; 142[label="primMulNat (Succ vuz3100) (Succ vuz4100)",fontsize=16,color="black",shape="box"];142 -> 152[label="",style="solid", color="black", weight=3]; 143[label="primMulNat (Succ vuz3100) Zero",fontsize=16,color="black",shape="box"];143 -> 153[label="",style="solid", color="black", weight=3]; 144[label="primMulNat Zero (Succ vuz4100)",fontsize=16,color="black",shape="box"];144 -> 154[label="",style="solid", color="black", weight=3]; 145[label="primMulNat Zero Zero",fontsize=16,color="black",shape="box"];145 -> 155[label="",style="solid", color="black", weight=3]; 1054[label="Integer vuz110 * vuz13",fontsize=16,color="burlywood",shape="box"];1475[label="vuz13/Integer vuz130",fontsize=10,color="white",style="solid",shape="box"];1054 -> 1475[label="",style="solid", color="burlywood", weight=9]; 1475 -> 1062[label="",style="solid", color="burlywood", weight=3]; 1055[label="Integer vuz1010 == fromInt (Pos Zero)",fontsize=16,color="black",shape="box"];1055 -> 1063[label="",style="solid", color="black", weight=3]; 147[label="vuz13",fontsize=16,color="green",shape="box"];148[label="vuz11",fontsize=16,color="green",shape="box"];149[label="primEqInt vuz25 (fromInt (Pos Zero))",fontsize=16,color="burlywood",shape="box"];1476[label="vuz25/Pos vuz250",fontsize=10,color="white",style="solid",shape="box"];149 -> 1476[label="",style="solid", color="burlywood", weight=9]; 1476 -> 157[label="",style="solid", color="burlywood", weight=3]; 1477[label="vuz25/Neg vuz250",fontsize=10,color="white",style="solid",shape="box"];149 -> 1477[label="",style="solid", color="burlywood", weight=9]; 1477 -> 158[label="",style="solid", color="burlywood", weight=3]; 150[label="reduce2Reduce0 (vuz20 * vuz21 + vuz22 * vuz23) (vuz23 * vuz21) (vuz20 * vuz21 + vuz22 * vuz23) (vuz23 * vuz21) True",fontsize=16,color="black",shape="box"];150 -> 159[label="",style="solid", color="black", weight=3]; 151[label="error []",fontsize=16,color="red",shape="box"];152 -> 41[label="",style="dashed", color="red", weight=0]; 152[label="primPlusNat (primMulNat vuz3100 (Succ vuz4100)) (Succ vuz4100)",fontsize=16,color="magenta"];152 -> 160[label="",style="dashed", color="magenta", weight=3]; 152 -> 161[label="",style="dashed", color="magenta", weight=3]; 153[label="Zero",fontsize=16,color="green",shape="box"];154[label="Zero",fontsize=16,color="green",shape="box"];155[label="Zero",fontsize=16,color="green",shape="box"];1062[label="Integer vuz110 * Integer vuz130",fontsize=16,color="black",shape="box"];1062 -> 1088[label="",style="solid", color="black", weight=3]; 1063[label="Integer vuz1010 == Integer (Pos Zero)",fontsize=16,color="black",shape="box"];1063 -> 1089[label="",style="solid", color="black", weight=3]; 157[label="primEqInt (Pos vuz250) (fromInt (Pos Zero))",fontsize=16,color="burlywood",shape="box"];1478[label="vuz250/Succ vuz2500",fontsize=10,color="white",style="solid",shape="box"];157 -> 1478[label="",style="solid", color="burlywood", weight=9]; 1478 -> 164[label="",style="solid", color="burlywood", weight=3]; 1479[label="vuz250/Zero",fontsize=10,color="white",style="solid",shape="box"];157 -> 1479[label="",style="solid", color="burlywood", weight=9]; 1479 -> 165[label="",style="solid", color="burlywood", weight=3]; 158[label="primEqInt (Neg vuz250) (fromInt (Pos Zero))",fontsize=16,color="burlywood",shape="box"];1480[label="vuz250/Succ vuz2500",fontsize=10,color="white",style="solid",shape="box"];158 -> 1480[label="",style="solid", color="burlywood", weight=9]; 1480 -> 166[label="",style="solid", color="burlywood", weight=3]; 1481[label="vuz250/Zero",fontsize=10,color="white",style="solid",shape="box"];158 -> 1481[label="",style="solid", color="burlywood", weight=9]; 1481 -> 167[label="",style="solid", color="burlywood", weight=3]; 159[label="(vuz20 * vuz21 + vuz22 * vuz23) `quot` reduce2D (vuz20 * vuz21 + vuz22 * vuz23) (vuz23 * vuz21) :% (vuz23 * vuz21 `quot` reduce2D (vuz20 * vuz21 + vuz22 * vuz23) (vuz23 * vuz21))",fontsize=16,color="green",shape="box"];159 -> 168[label="",style="dashed", color="green", weight=3]; 159 -> 169[label="",style="dashed", color="green", weight=3]; 160[label="Succ vuz4100",fontsize=16,color="green",shape="box"];161 -> 120[label="",style="dashed", color="red", weight=0]; 161[label="primMulNat vuz3100 (Succ vuz4100)",fontsize=16,color="magenta"];161 -> 170[label="",style="dashed", color="magenta", weight=3]; 161 -> 171[label="",style="dashed", color="magenta", weight=3]; 1088[label="Integer (primMulInt vuz110 vuz130)",fontsize=16,color="green",shape="box"];1088 -> 1139[label="",style="dashed", color="green", weight=3]; 1089[label="primEqInt vuz1010 (Pos Zero)",fontsize=16,color="burlywood",shape="box"];1482[label="vuz1010/Pos vuz10100",fontsize=10,color="white",style="solid",shape="box"];1089 -> 1482[label="",style="solid", color="burlywood", weight=9]; 1482 -> 1140[label="",style="solid", color="burlywood", weight=3]; 1483[label="vuz1010/Neg vuz10100",fontsize=10,color="white",style="solid",shape="box"];1089 -> 1483[label="",style="solid", color="burlywood", weight=9]; 1483 -> 1141[label="",style="solid", color="burlywood", weight=3]; 164[label="primEqInt (Pos (Succ vuz2500)) (fromInt (Pos Zero))",fontsize=16,color="black",shape="box"];164 -> 175[label="",style="solid", color="black", weight=3]; 165[label="primEqInt (Pos Zero) (fromInt (Pos Zero))",fontsize=16,color="black",shape="box"];165 -> 176[label="",style="solid", color="black", weight=3]; 166[label="primEqInt (Neg (Succ vuz2500)) (fromInt (Pos Zero))",fontsize=16,color="black",shape="box"];166 -> 177[label="",style="solid", color="black", weight=3]; 167[label="primEqInt (Neg Zero) (fromInt (Pos Zero))",fontsize=16,color="black",shape="box"];167 -> 178[label="",style="solid", color="black", weight=3]; 168[label="(vuz20 * vuz21 + vuz22 * vuz23) `quot` reduce2D (vuz20 * vuz21 + vuz22 * vuz23) (vuz23 * vuz21)",fontsize=16,color="blue",shape="box"];1484[label="`quot` :: Integer -> Integer -> Integer",fontsize=10,color="white",style="solid",shape="box"];168 -> 1484[label="",style="solid", color="blue", weight=9]; 1484 -> 179[label="",style="solid", color="blue", weight=3]; 1485[label="`quot` :: Int -> Int -> Int",fontsize=10,color="white",style="solid",shape="box"];168 -> 1485[label="",style="solid", color="blue", weight=9]; 1485 -> 180[label="",style="solid", color="blue", weight=3]; 169[label="vuz23 * vuz21 `quot` reduce2D (vuz20 * vuz21 + vuz22 * vuz23) (vuz23 * vuz21)",fontsize=16,color="blue",shape="box"];1486[label="`quot` :: Integer -> Integer -> Integer",fontsize=10,color="white",style="solid",shape="box"];169 -> 1486[label="",style="solid", color="blue", weight=9]; 1486 -> 181[label="",style="solid", color="blue", weight=3]; 1487[label="`quot` :: Int -> Int -> Int",fontsize=10,color="white",style="solid",shape="box"];169 -> 1487[label="",style="solid", color="blue", weight=9]; 1487 -> 182[label="",style="solid", color="blue", weight=3]; 170[label="vuz3100",fontsize=16,color="green",shape="box"];171[label="Succ vuz4100",fontsize=16,color="green",shape="box"];1139 -> 56[label="",style="dashed", color="red", weight=0]; 1139[label="primMulInt vuz110 vuz130",fontsize=16,color="magenta"];1139 -> 1155[label="",style="dashed", color="magenta", weight=3]; 1139 -> 1156[label="",style="dashed", color="magenta", weight=3]; 1140[label="primEqInt (Pos vuz10100) (Pos Zero)",fontsize=16,color="burlywood",shape="box"];1488[label="vuz10100/Succ vuz101000",fontsize=10,color="white",style="solid",shape="box"];1140 -> 1488[label="",style="solid", color="burlywood", weight=9]; 1488 -> 1157[label="",style="solid", color="burlywood", weight=3]; 1489[label="vuz10100/Zero",fontsize=10,color="white",style="solid",shape="box"];1140 -> 1489[label="",style="solid", color="burlywood", weight=9]; 1489 -> 1158[label="",style="solid", color="burlywood", weight=3]; 1141[label="primEqInt (Neg vuz10100) (Pos Zero)",fontsize=16,color="burlywood",shape="box"];1490[label="vuz10100/Succ vuz101000",fontsize=10,color="white",style="solid",shape="box"];1141 -> 1490[label="",style="solid", color="burlywood", weight=9]; 1490 -> 1159[label="",style="solid", color="burlywood", weight=3]; 1491[label="vuz10100/Zero",fontsize=10,color="white",style="solid",shape="box"];1141 -> 1491[label="",style="solid", color="burlywood", weight=9]; 1491 -> 1160[label="",style="solid", color="burlywood", weight=3]; 175[label="primEqInt (Pos (Succ vuz2500)) (Pos Zero)",fontsize=16,color="black",shape="box"];175 -> 184[label="",style="solid", color="black", weight=3]; 176[label="primEqInt (Pos Zero) (Pos Zero)",fontsize=16,color="black",shape="box"];176 -> 185[label="",style="solid", color="black", weight=3]; 177[label="primEqInt (Neg (Succ vuz2500)) (Pos Zero)",fontsize=16,color="black",shape="box"];177 -> 186[label="",style="solid", color="black", weight=3]; 178[label="primEqInt (Neg Zero) (Pos Zero)",fontsize=16,color="black",shape="box"];178 -> 187[label="",style="solid", color="black", weight=3]; 179[label="(vuz20 * vuz21 + vuz22 * vuz23) `quot` reduce2D (vuz20 * vuz21 + vuz22 * vuz23) (vuz23 * vuz21)",fontsize=16,color="burlywood",shape="box"];1492[label="vuz20/Integer vuz200",fontsize=10,color="white",style="solid",shape="box"];179 -> 1492[label="",style="solid", color="burlywood", weight=9]; 1492 -> 188[label="",style="solid", color="burlywood", weight=3]; 180 -> 221[label="",style="dashed", color="red", weight=0]; 180[label="(vuz20 * vuz21 + vuz22 * vuz23) `quot` reduce2D (vuz20 * vuz21 + vuz22 * vuz23) (vuz23 * vuz21)",fontsize=16,color="magenta"];180 -> 222[label="",style="dashed", color="magenta", weight=3]; 180 -> 223[label="",style="dashed", color="magenta", weight=3]; 180 -> 224[label="",style="dashed", color="magenta", weight=3]; 181[label="vuz23 * vuz21 `quot` reduce2D (vuz20 * vuz21 + vuz22 * vuz23) (vuz23 * vuz21)",fontsize=16,color="burlywood",shape="box"];1493[label="vuz23/Integer vuz230",fontsize=10,color="white",style="solid",shape="box"];181 -> 1493[label="",style="solid", color="burlywood", weight=9]; 1493 -> 195[label="",style="solid", color="burlywood", weight=3]; 182 -> 221[label="",style="dashed", color="red", weight=0]; 182[label="vuz23 * vuz21 `quot` reduce2D (vuz20 * vuz21 + vuz22 * vuz23) (vuz23 * vuz21)",fontsize=16,color="magenta"];182 -> 225[label="",style="dashed", color="magenta", weight=3]; 182 -> 226[label="",style="dashed", color="magenta", weight=3]; 182 -> 227[label="",style="dashed", color="magenta", weight=3]; 1155[label="vuz130",fontsize=16,color="green",shape="box"];1156[label="vuz110",fontsize=16,color="green",shape="box"];1157[label="primEqInt (Pos (Succ vuz101000)) (Pos Zero)",fontsize=16,color="black",shape="box"];1157 -> 1176[label="",style="solid", color="black", weight=3]; 1158[label="primEqInt (Pos Zero) (Pos Zero)",fontsize=16,color="black",shape="box"];1158 -> 1177[label="",style="solid", color="black", weight=3]; 1159[label="primEqInt (Neg (Succ vuz101000)) (Pos Zero)",fontsize=16,color="black",shape="box"];1159 -> 1178[label="",style="solid", color="black", weight=3]; 1160[label="primEqInt (Neg Zero) (Pos Zero)",fontsize=16,color="black",shape="box"];1160 -> 1179[label="",style="solid", color="black", weight=3]; 184[label="False",fontsize=16,color="green",shape="box"];185[label="True",fontsize=16,color="green",shape="box"];186[label="False",fontsize=16,color="green",shape="box"];187[label="True",fontsize=16,color="green",shape="box"];188[label="(Integer vuz200 * vuz21 + vuz22 * vuz23) `quot` reduce2D (Integer vuz200 * vuz21 + vuz22 * vuz23) (vuz23 * vuz21)",fontsize=16,color="burlywood",shape="box"];1494[label="vuz21/Integer vuz210",fontsize=10,color="white",style="solid",shape="box"];188 -> 1494[label="",style="solid", color="burlywood", weight=9]; 1494 -> 211[label="",style="solid", color="burlywood", weight=3]; 222 -> 38[label="",style="dashed", color="red", weight=0]; 222[label="vuz23 * vuz21",fontsize=16,color="magenta"];222 -> 229[label="",style="dashed", color="magenta", weight=3]; 222 -> 230[label="",style="dashed", color="magenta", weight=3]; 223 -> 231[label="",style="dashed", color="red", weight=0]; 223[label="vuz20 * vuz21 + vuz22 * vuz23",fontsize=16,color="magenta"];223 -> 232[label="",style="dashed", color="magenta", weight=3]; 223 -> 233[label="",style="dashed", color="magenta", weight=3]; 224 -> 231[label="",style="dashed", color="red", weight=0]; 224[label="vuz20 * vuz21 + vuz22 * vuz23",fontsize=16,color="magenta"];224 -> 234[label="",style="dashed", color="magenta", weight=3]; 224 -> 235[label="",style="dashed", color="magenta", weight=3]; 221[label="vuz32 `quot` reduce2D vuz38 vuz33",fontsize=16,color="black",shape="triangle"];221 -> 238[label="",style="solid", color="black", weight=3]; 195[label="Integer vuz230 * vuz21 `quot` reduce2D (vuz20 * vuz21 + vuz22 * Integer vuz230) (Integer vuz230 * vuz21)",fontsize=16,color="burlywood",shape="box"];1495[label="vuz21/Integer vuz210",fontsize=10,color="white",style="solid",shape="box"];195 -> 1495[label="",style="solid", color="burlywood", weight=9]; 1495 -> 239[label="",style="solid", color="burlywood", weight=3]; 225 -> 38[label="",style="dashed", color="red", weight=0]; 225[label="vuz23 * vuz21",fontsize=16,color="magenta"];225 -> 240[label="",style="dashed", color="magenta", weight=3]; 225 -> 241[label="",style="dashed", color="magenta", weight=3]; 226 -> 231[label="",style="dashed", color="red", weight=0]; 226[label="vuz20 * vuz21 + vuz22 * vuz23",fontsize=16,color="magenta"];226 -> 236[label="",style="dashed", color="magenta", weight=3]; 226 -> 237[label="",style="dashed", color="magenta", weight=3]; 227 -> 38[label="",style="dashed", color="red", weight=0]; 227[label="vuz23 * vuz21",fontsize=16,color="magenta"];227 -> 242[label="",style="dashed", color="magenta", weight=3]; 227 -> 243[label="",style="dashed", color="magenta", weight=3]; 1176[label="False",fontsize=16,color="green",shape="box"];1177[label="True",fontsize=16,color="green",shape="box"];1178[label="False",fontsize=16,color="green",shape="box"];1179[label="True",fontsize=16,color="green",shape="box"];211[label="(Integer vuz200 * Integer vuz210 + vuz22 * vuz23) `quot` reduce2D (Integer vuz200 * Integer vuz210 + vuz22 * vuz23) (vuz23 * Integer vuz210)",fontsize=16,color="black",shape="box"];211 -> 248[label="",style="solid", color="black", weight=3]; 229[label="vuz21",fontsize=16,color="green",shape="box"];230[label="vuz23",fontsize=16,color="green",shape="box"];232 -> 38[label="",style="dashed", color="red", weight=0]; 232[label="vuz20 * vuz21",fontsize=16,color="magenta"];232 -> 249[label="",style="dashed", color="magenta", weight=3]; 232 -> 250[label="",style="dashed", color="magenta", weight=3]; 233 -> 38[label="",style="dashed", color="red", weight=0]; 233[label="vuz22 * vuz23",fontsize=16,color="magenta"];233 -> 251[label="",style="dashed", color="magenta", weight=3]; 233 -> 252[label="",style="dashed", color="magenta", weight=3]; 231[label="vuz40 + vuz39",fontsize=16,color="black",shape="triangle"];231 -> 253[label="",style="solid", color="black", weight=3]; 234 -> 38[label="",style="dashed", color="red", weight=0]; 234[label="vuz20 * vuz21",fontsize=16,color="magenta"];234 -> 254[label="",style="dashed", color="magenta", weight=3]; 234 -> 255[label="",style="dashed", color="magenta", weight=3]; 235 -> 38[label="",style="dashed", color="red", weight=0]; 235[label="vuz22 * vuz23",fontsize=16,color="magenta"];235 -> 256[label="",style="dashed", color="magenta", weight=3]; 235 -> 257[label="",style="dashed", color="magenta", weight=3]; 238[label="primQuotInt vuz32 (reduce2D vuz38 vuz33)",fontsize=16,color="burlywood",shape="box"];1496[label="vuz32/Pos vuz320",fontsize=10,color="white",style="solid",shape="box"];238 -> 1496[label="",style="solid", color="burlywood", weight=9]; 1496 -> 262[label="",style="solid", color="burlywood", weight=3]; 1497[label="vuz32/Neg vuz320",fontsize=10,color="white",style="solid",shape="box"];238 -> 1497[label="",style="solid", color="burlywood", weight=9]; 1497 -> 263[label="",style="solid", color="burlywood", weight=3]; 239[label="Integer vuz230 * Integer vuz210 `quot` reduce2D (vuz20 * Integer vuz210 + vuz22 * Integer vuz230) (Integer vuz230 * Integer vuz210)",fontsize=16,color="black",shape="box"];239 -> 264[label="",style="solid", color="black", weight=3]; 240[label="vuz21",fontsize=16,color="green",shape="box"];241[label="vuz23",fontsize=16,color="green",shape="box"];236 -> 38[label="",style="dashed", color="red", weight=0]; 236[label="vuz20 * vuz21",fontsize=16,color="magenta"];236 -> 258[label="",style="dashed", color="magenta", weight=3]; 236 -> 259[label="",style="dashed", color="magenta", weight=3]; 237 -> 38[label="",style="dashed", color="red", weight=0]; 237[label="vuz22 * vuz23",fontsize=16,color="magenta"];237 -> 260[label="",style="dashed", color="magenta", weight=3]; 237 -> 261[label="",style="dashed", color="magenta", weight=3]; 242[label="vuz21",fontsize=16,color="green",shape="box"];243[label="vuz23",fontsize=16,color="green",shape="box"];248 -> 269[label="",style="dashed", color="red", weight=0]; 248[label="(Integer (primMulInt vuz200 vuz210) + vuz22 * vuz23) `quot` reduce2D (Integer (primMulInt vuz200 vuz210) + vuz22 * vuz23) (vuz23 * Integer vuz210)",fontsize=16,color="magenta"];248 -> 270[label="",style="dashed", color="magenta", weight=3]; 248 -> 271[label="",style="dashed", color="magenta", weight=3]; 249[label="vuz21",fontsize=16,color="green",shape="box"];250[label="vuz20",fontsize=16,color="green",shape="box"];251[label="vuz23",fontsize=16,color="green",shape="box"];252[label="vuz22",fontsize=16,color="green",shape="box"];253[label="primPlusInt vuz40 vuz39",fontsize=16,color="burlywood",shape="triangle"];1498[label="vuz40/Pos vuz400",fontsize=10,color="white",style="solid",shape="box"];253 -> 1498[label="",style="solid", color="burlywood", weight=9]; 1498 -> 272[label="",style="solid", color="burlywood", weight=3]; 1499[label="vuz40/Neg vuz400",fontsize=10,color="white",style="solid",shape="box"];253 -> 1499[label="",style="solid", color="burlywood", weight=9]; 1499 -> 273[label="",style="solid", color="burlywood", weight=3]; 254[label="vuz21",fontsize=16,color="green",shape="box"];255[label="vuz20",fontsize=16,color="green",shape="box"];256[label="vuz23",fontsize=16,color="green",shape="box"];257[label="vuz22",fontsize=16,color="green",shape="box"];262[label="primQuotInt (Pos vuz320) (reduce2D vuz38 vuz33)",fontsize=16,color="black",shape="box"];262 -> 274[label="",style="solid", color="black", weight=3]; 263[label="primQuotInt (Neg vuz320) (reduce2D vuz38 vuz33)",fontsize=16,color="black",shape="box"];263 -> 275[label="",style="solid", color="black", weight=3]; 264 -> 276[label="",style="dashed", color="red", weight=0]; 264[label="Integer (primMulInt vuz230 vuz210) `quot` reduce2D (vuz20 * Integer vuz210 + vuz22 * Integer vuz230) (Integer (primMulInt vuz230 vuz210))",fontsize=16,color="magenta"];264 -> 277[label="",style="dashed", color="magenta", weight=3]; 264 -> 278[label="",style="dashed", color="magenta", weight=3]; 258[label="vuz21",fontsize=16,color="green",shape="box"];259[label="vuz20",fontsize=16,color="green",shape="box"];260[label="vuz23",fontsize=16,color="green",shape="box"];261[label="vuz22",fontsize=16,color="green",shape="box"];270 -> 56[label="",style="dashed", color="red", weight=0]; 270[label="primMulInt vuz200 vuz210",fontsize=16,color="magenta"];270 -> 279[label="",style="dashed", color="magenta", weight=3]; 270 -> 280[label="",style="dashed", color="magenta", weight=3]; 271 -> 56[label="",style="dashed", color="red", weight=0]; 271[label="primMulInt vuz200 vuz210",fontsize=16,color="magenta"];271 -> 281[label="",style="dashed", color="magenta", weight=3]; 271 -> 282[label="",style="dashed", color="magenta", weight=3]; 269[label="(Integer vuz41 + vuz22 * vuz23) `quot` reduce2D (Integer vuz42 + vuz22 * vuz23) (vuz23 * Integer vuz210)",fontsize=16,color="burlywood",shape="triangle"];1500[label="vuz22/Integer vuz220",fontsize=10,color="white",style="solid",shape="box"];269 -> 1500[label="",style="solid", color="burlywood", weight=9]; 1500 -> 283[label="",style="solid", color="burlywood", weight=3]; 272[label="primPlusInt (Pos vuz400) vuz39",fontsize=16,color="burlywood",shape="box"];1501[label="vuz39/Pos vuz390",fontsize=10,color="white",style="solid",shape="box"];272 -> 1501[label="",style="solid", color="burlywood", weight=9]; 1501 -> 284[label="",style="solid", color="burlywood", weight=3]; 1502[label="vuz39/Neg vuz390",fontsize=10,color="white",style="solid",shape="box"];272 -> 1502[label="",style="solid", color="burlywood", weight=9]; 1502 -> 285[label="",style="solid", color="burlywood", weight=3]; 273[label="primPlusInt (Neg vuz400) vuz39",fontsize=16,color="burlywood",shape="box"];1503[label="vuz39/Pos vuz390",fontsize=10,color="white",style="solid",shape="box"];273 -> 1503[label="",style="solid", color="burlywood", weight=9]; 1503 -> 286[label="",style="solid", color="burlywood", weight=3]; 1504[label="vuz39/Neg vuz390",fontsize=10,color="white",style="solid",shape="box"];273 -> 1504[label="",style="solid", color="burlywood", weight=9]; 1504 -> 287[label="",style="solid", color="burlywood", weight=3]; 274 -> 417[label="",style="dashed", color="red", weight=0]; 274[label="primQuotInt (Pos vuz320) (gcd vuz38 vuz33)",fontsize=16,color="magenta"];274 -> 418[label="",style="dashed", color="magenta", weight=3]; 275 -> 445[label="",style="dashed", color="red", weight=0]; 275[label="primQuotInt (Neg vuz320) (gcd vuz38 vuz33)",fontsize=16,color="magenta"];275 -> 446[label="",style="dashed", color="magenta", weight=3]; 277 -> 56[label="",style="dashed", color="red", weight=0]; 277[label="primMulInt vuz230 vuz210",fontsize=16,color="magenta"];277 -> 290[label="",style="dashed", color="magenta", weight=3]; 277 -> 291[label="",style="dashed", color="magenta", weight=3]; 278 -> 56[label="",style="dashed", color="red", weight=0]; 278[label="primMulInt vuz230 vuz210",fontsize=16,color="magenta"];278 -> 292[label="",style="dashed", color="magenta", weight=3]; 278 -> 293[label="",style="dashed", color="magenta", weight=3]; 276[label="Integer vuz43 `quot` reduce2D (vuz20 * Integer vuz210 + vuz22 * Integer vuz230) (Integer vuz44)",fontsize=16,color="black",shape="triangle"];276 -> 294[label="",style="solid", color="black", weight=3]; 279[label="vuz210",fontsize=16,color="green",shape="box"];280[label="vuz200",fontsize=16,color="green",shape="box"];281[label="vuz210",fontsize=16,color="green",shape="box"];282[label="vuz200",fontsize=16,color="green",shape="box"];283[label="(Integer vuz41 + Integer vuz220 * vuz23) `quot` reduce2D (Integer vuz42 + Integer vuz220 * vuz23) (vuz23 * Integer vuz210)",fontsize=16,color="burlywood",shape="box"];1505[label="vuz23/Integer vuz230",fontsize=10,color="white",style="solid",shape="box"];283 -> 1505[label="",style="solid", color="burlywood", weight=9]; 1505 -> 295[label="",style="solid", color="burlywood", weight=3]; 284[label="primPlusInt (Pos vuz400) (Pos vuz390)",fontsize=16,color="black",shape="box"];284 -> 296[label="",style="solid", color="black", weight=3]; 285[label="primPlusInt (Pos vuz400) (Neg vuz390)",fontsize=16,color="black",shape="box"];285 -> 297[label="",style="solid", color="black", weight=3]; 286[label="primPlusInt (Neg vuz400) (Pos vuz390)",fontsize=16,color="black",shape="box"];286 -> 298[label="",style="solid", color="black", weight=3]; 287[label="primPlusInt (Neg vuz400) (Neg vuz390)",fontsize=16,color="black",shape="box"];287 -> 299[label="",style="solid", color="black", weight=3]; 418[label="gcd vuz38 vuz33",fontsize=16,color="black",shape="triangle"];418 -> 434[label="",style="solid", color="black", weight=3]; 417[label="primQuotInt (Pos vuz320) vuz65",fontsize=16,color="burlywood",shape="triangle"];1506[label="vuz65/Pos vuz650",fontsize=10,color="white",style="solid",shape="box"];417 -> 1506[label="",style="solid", color="burlywood", weight=9]; 1506 -> 435[label="",style="solid", color="burlywood", weight=3]; 1507[label="vuz65/Neg vuz650",fontsize=10,color="white",style="solid",shape="box"];417 -> 1507[label="",style="solid", color="burlywood", weight=9]; 1507 -> 436[label="",style="solid", color="burlywood", weight=3]; 446 -> 418[label="",style="dashed", color="red", weight=0]; 446[label="gcd vuz38 vuz33",fontsize=16,color="magenta"];445[label="primQuotInt (Neg vuz320) vuz68",fontsize=16,color="burlywood",shape="triangle"];1508[label="vuz68/Pos vuz680",fontsize=10,color="white",style="solid",shape="box"];445 -> 1508[label="",style="solid", color="burlywood", weight=9]; 1508 -> 462[label="",style="solid", color="burlywood", weight=3]; 1509[label="vuz68/Neg vuz680",fontsize=10,color="white",style="solid",shape="box"];445 -> 1509[label="",style="solid", color="burlywood", weight=9]; 1509 -> 463[label="",style="solid", color="burlywood", weight=3]; 290[label="vuz210",fontsize=16,color="green",shape="box"];291[label="vuz230",fontsize=16,color="green",shape="box"];292[label="vuz210",fontsize=16,color="green",shape="box"];293[label="vuz230",fontsize=16,color="green",shape="box"];294[label="Integer vuz43 `quot` gcd (vuz20 * Integer vuz210 + vuz22 * Integer vuz230) (Integer vuz44)",fontsize=16,color="black",shape="box"];294 -> 302[label="",style="solid", color="black", weight=3]; 295[label="(Integer vuz41 + Integer vuz220 * Integer vuz230) `quot` reduce2D (Integer vuz42 + Integer vuz220 * Integer vuz230) (Integer vuz230 * Integer vuz210)",fontsize=16,color="black",shape="box"];295 -> 303[label="",style="solid", color="black", weight=3]; 296[label="Pos (primPlusNat vuz400 vuz390)",fontsize=16,color="green",shape="box"];296 -> 304[label="",style="dashed", color="green", weight=3]; 297 -> 30[label="",style="dashed", color="red", weight=0]; 297[label="primMinusNat vuz400 vuz390",fontsize=16,color="magenta"];297 -> 305[label="",style="dashed", color="magenta", weight=3]; 297 -> 306[label="",style="dashed", color="magenta", weight=3]; 298 -> 30[label="",style="dashed", color="red", weight=0]; 298[label="primMinusNat vuz390 vuz400",fontsize=16,color="magenta"];298 -> 307[label="",style="dashed", color="magenta", weight=3]; 298 -> 308[label="",style="dashed", color="magenta", weight=3]; 299[label="Neg (primPlusNat vuz400 vuz390)",fontsize=16,color="green",shape="box"];299 -> 309[label="",style="dashed", color="green", weight=3]; 434[label="gcd3 vuz38 vuz33",fontsize=16,color="black",shape="box"];434 -> 440[label="",style="solid", color="black", weight=3]; 435[label="primQuotInt (Pos vuz320) (Pos vuz650)",fontsize=16,color="burlywood",shape="box"];1510[label="vuz650/Succ vuz6500",fontsize=10,color="white",style="solid",shape="box"];435 -> 1510[label="",style="solid", color="burlywood", weight=9]; 1510 -> 441[label="",style="solid", color="burlywood", weight=3]; 1511[label="vuz650/Zero",fontsize=10,color="white",style="solid",shape="box"];435 -> 1511[label="",style="solid", color="burlywood", weight=9]; 1511 -> 442[label="",style="solid", color="burlywood", weight=3]; 436[label="primQuotInt (Pos vuz320) (Neg vuz650)",fontsize=16,color="burlywood",shape="box"];1512[label="vuz650/Succ vuz6500",fontsize=10,color="white",style="solid",shape="box"];436 -> 1512[label="",style="solid", color="burlywood", weight=9]; 1512 -> 443[label="",style="solid", color="burlywood", weight=3]; 1513[label="vuz650/Zero",fontsize=10,color="white",style="solid",shape="box"];436 -> 1513[label="",style="solid", color="burlywood", weight=9]; 1513 -> 444[label="",style="solid", color="burlywood", weight=3]; 462[label="primQuotInt (Neg vuz320) (Pos vuz680)",fontsize=16,color="burlywood",shape="box"];1514[label="vuz680/Succ vuz6800",fontsize=10,color="white",style="solid",shape="box"];462 -> 1514[label="",style="solid", color="burlywood", weight=9]; 1514 -> 466[label="",style="solid", color="burlywood", weight=3]; 1515[label="vuz680/Zero",fontsize=10,color="white",style="solid",shape="box"];462 -> 1515[label="",style="solid", color="burlywood", weight=9]; 1515 -> 467[label="",style="solid", color="burlywood", weight=3]; 463[label="primQuotInt (Neg vuz320) (Neg vuz680)",fontsize=16,color="burlywood",shape="box"];1516[label="vuz680/Succ vuz6800",fontsize=10,color="white",style="solid",shape="box"];463 -> 1516[label="",style="solid", color="burlywood", weight=9]; 1516 -> 468[label="",style="solid", color="burlywood", weight=3]; 1517[label="vuz680/Zero",fontsize=10,color="white",style="solid",shape="box"];463 -> 1517[label="",style="solid", color="burlywood", weight=9]; 1517 -> 469[label="",style="solid", color="burlywood", weight=3]; 302[label="Integer vuz43 `quot` gcd3 (vuz20 * Integer vuz210 + vuz22 * Integer vuz230) (Integer vuz44)",fontsize=16,color="black",shape="box"];302 -> 314[label="",style="solid", color="black", weight=3]; 303 -> 315[label="",style="dashed", color="red", weight=0]; 303[label="(Integer vuz41 + Integer (primMulInt vuz220 vuz230)) `quot` reduce2D (Integer vuz42 + Integer (primMulInt vuz220 vuz230)) (Integer vuz230 * Integer vuz210)",fontsize=16,color="magenta"];303 -> 316[label="",style="dashed", color="magenta", weight=3]; 303 -> 317[label="",style="dashed", color="magenta", weight=3]; 304 -> 41[label="",style="dashed", color="red", weight=0]; 304[label="primPlusNat vuz400 vuz390",fontsize=16,color="magenta"];304 -> 318[label="",style="dashed", color="magenta", weight=3]; 304 -> 319[label="",style="dashed", color="magenta", weight=3]; 305[label="vuz400",fontsize=16,color="green",shape="box"];306[label="vuz390",fontsize=16,color="green",shape="box"];307[label="vuz390",fontsize=16,color="green",shape="box"];308[label="vuz400",fontsize=16,color="green",shape="box"];309 -> 41[label="",style="dashed", color="red", weight=0]; 309[label="primPlusNat vuz400 vuz390",fontsize=16,color="magenta"];309 -> 320[label="",style="dashed", color="magenta", weight=3]; 309 -> 321[label="",style="dashed", color="magenta", weight=3]; 440 -> 464[label="",style="dashed", color="red", weight=0]; 440[label="gcd2 (vuz38 == fromInt (Pos Zero)) vuz38 vuz33",fontsize=16,color="magenta"];440 -> 465[label="",style="dashed", color="magenta", weight=3]; 441[label="primQuotInt (Pos vuz320) (Pos (Succ vuz6500))",fontsize=16,color="black",shape="box"];441 -> 470[label="",style="solid", color="black", weight=3]; 442[label="primQuotInt (Pos vuz320) (Pos Zero)",fontsize=16,color="black",shape="box"];442 -> 471[label="",style="solid", color="black", weight=3]; 443[label="primQuotInt (Pos vuz320) (Neg (Succ vuz6500))",fontsize=16,color="black",shape="box"];443 -> 472[label="",style="solid", color="black", weight=3]; 444[label="primQuotInt (Pos vuz320) (Neg Zero)",fontsize=16,color="black",shape="box"];444 -> 473[label="",style="solid", color="black", weight=3]; 466[label="primQuotInt (Neg vuz320) (Pos (Succ vuz6800))",fontsize=16,color="black",shape="box"];466 -> 485[label="",style="solid", color="black", weight=3]; 467[label="primQuotInt (Neg vuz320) (Pos Zero)",fontsize=16,color="black",shape="box"];467 -> 486[label="",style="solid", color="black", weight=3]; 468[label="primQuotInt (Neg vuz320) (Neg (Succ vuz6800))",fontsize=16,color="black",shape="box"];468 -> 487[label="",style="solid", color="black", weight=3]; 469[label="primQuotInt (Neg vuz320) (Neg Zero)",fontsize=16,color="black",shape="box"];469 -> 488[label="",style="solid", color="black", weight=3]; 314[label="Integer vuz43 `quot` gcd2 (vuz20 * Integer vuz210 + vuz22 * Integer vuz230 == fromInt (Pos Zero)) (vuz20 * Integer vuz210 + vuz22 * Integer vuz230) (Integer vuz44)",fontsize=16,color="burlywood",shape="box"];1518[label="vuz20/Integer vuz200",fontsize=10,color="white",style="solid",shape="box"];314 -> 1518[label="",style="solid", color="burlywood", weight=9]; 1518 -> 328[label="",style="solid", color="burlywood", weight=3]; 316 -> 56[label="",style="dashed", color="red", weight=0]; 316[label="primMulInt vuz220 vuz230",fontsize=16,color="magenta"];316 -> 329[label="",style="dashed", color="magenta", weight=3]; 316 -> 330[label="",style="dashed", color="magenta", weight=3]; 317 -> 56[label="",style="dashed", color="red", weight=0]; 317[label="primMulInt vuz220 vuz230",fontsize=16,color="magenta"];317 -> 331[label="",style="dashed", color="magenta", weight=3]; 317 -> 332[label="",style="dashed", color="magenta", weight=3]; 315[label="(Integer vuz41 + Integer vuz47) `quot` reduce2D (Integer vuz42 + Integer vuz48) (Integer vuz230 * Integer vuz210)",fontsize=16,color="black",shape="triangle"];315 -> 333[label="",style="solid", color="black", weight=3]; 318[label="vuz390",fontsize=16,color="green",shape="box"];319[label="vuz400",fontsize=16,color="green",shape="box"];320[label="vuz390",fontsize=16,color="green",shape="box"];321[label="vuz400",fontsize=16,color="green",shape="box"];465 -> 138[label="",style="dashed", color="red", weight=0]; 465[label="vuz38 == fromInt (Pos Zero)",fontsize=16,color="magenta"];465 -> 474[label="",style="dashed", color="magenta", weight=3]; 464[label="gcd2 vuz69 vuz38 vuz33",fontsize=16,color="burlywood",shape="triangle"];1519[label="vuz69/False",fontsize=10,color="white",style="solid",shape="box"];464 -> 1519[label="",style="solid", color="burlywood", weight=9]; 1519 -> 475[label="",style="solid", color="burlywood", weight=3]; 1520[label="vuz69/True",fontsize=10,color="white",style="solid",shape="box"];464 -> 1520[label="",style="solid", color="burlywood", weight=9]; 1520 -> 476[label="",style="solid", color="burlywood", weight=3]; 470[label="Pos (primDivNatS vuz320 (Succ vuz6500))",fontsize=16,color="green",shape="box"];470 -> 489[label="",style="dashed", color="green", weight=3]; 471[label="error []",fontsize=16,color="black",shape="triangle"];471 -> 490[label="",style="solid", color="black", weight=3]; 472[label="Neg (primDivNatS vuz320 (Succ vuz6500))",fontsize=16,color="green",shape="box"];472 -> 491[label="",style="dashed", color="green", weight=3]; 473 -> 471[label="",style="dashed", color="red", weight=0]; 473[label="error []",fontsize=16,color="magenta"];485[label="Neg (primDivNatS vuz320 (Succ vuz6800))",fontsize=16,color="green",shape="box"];485 -> 503[label="",style="dashed", color="green", weight=3]; 486 -> 471[label="",style="dashed", color="red", weight=0]; 486[label="error []",fontsize=16,color="magenta"];487[label="Pos (primDivNatS vuz320 (Succ vuz6800))",fontsize=16,color="green",shape="box"];487 -> 504[label="",style="dashed", color="green", weight=3]; 488 -> 471[label="",style="dashed", color="red", weight=0]; 488[label="error []",fontsize=16,color="magenta"];328[label="Integer vuz43 `quot` gcd2 (Integer vuz200 * Integer vuz210 + vuz22 * Integer vuz230 == fromInt (Pos Zero)) (Integer vuz200 * Integer vuz210 + vuz22 * Integer vuz230) (Integer vuz44)",fontsize=16,color="black",shape="box"];328 -> 338[label="",style="solid", color="black", weight=3]; 329[label="vuz230",fontsize=16,color="green",shape="box"];330[label="vuz220",fontsize=16,color="green",shape="box"];331[label="vuz230",fontsize=16,color="green",shape="box"];332[label="vuz220",fontsize=16,color="green",shape="box"];333 -> 339[label="",style="dashed", color="red", weight=0]; 333[label="Integer (primPlusInt vuz41 vuz47) `quot` reduce2D (Integer (primPlusInt vuz41 vuz47)) (Integer vuz230 * Integer vuz210)",fontsize=16,color="magenta"];333 -> 340[label="",style="dashed", color="magenta", weight=3]; 333 -> 341[label="",style="dashed", color="magenta", weight=3]; 474[label="vuz38",fontsize=16,color="green",shape="box"];475[label="gcd2 False vuz38 vuz33",fontsize=16,color="black",shape="box"];475 -> 492[label="",style="solid", color="black", weight=3]; 476[label="gcd2 True vuz38 vuz33",fontsize=16,color="black",shape="box"];476 -> 493[label="",style="solid", color="black", weight=3]; 489[label="primDivNatS vuz320 (Succ vuz6500)",fontsize=16,color="burlywood",shape="triangle"];1521[label="vuz320/Succ vuz3200",fontsize=10,color="white",style="solid",shape="box"];489 -> 1521[label="",style="solid", color="burlywood", weight=9]; 1521 -> 505[label="",style="solid", color="burlywood", weight=3]; 1522[label="vuz320/Zero",fontsize=10,color="white",style="solid",shape="box"];489 -> 1522[label="",style="solid", color="burlywood", weight=9]; 1522 -> 506[label="",style="solid", color="burlywood", weight=3]; 490[label="error []",fontsize=16,color="red",shape="box"];491 -> 489[label="",style="dashed", color="red", weight=0]; 491[label="primDivNatS vuz320 (Succ vuz6500)",fontsize=16,color="magenta"];491 -> 507[label="",style="dashed", color="magenta", weight=3]; 503 -> 489[label="",style="dashed", color="red", weight=0]; 503[label="primDivNatS vuz320 (Succ vuz6800)",fontsize=16,color="magenta"];503 -> 511[label="",style="dashed", color="magenta", weight=3]; 503 -> 512[label="",style="dashed", color="magenta", weight=3]; 504 -> 489[label="",style="dashed", color="red", weight=0]; 504[label="primDivNatS vuz320 (Succ vuz6800)",fontsize=16,color="magenta"];504 -> 513[label="",style="dashed", color="magenta", weight=3]; 504 -> 514[label="",style="dashed", color="magenta", weight=3]; 338 -> 348[label="",style="dashed", color="red", weight=0]; 338[label="Integer vuz43 `quot` gcd2 (Integer (primMulInt vuz200 vuz210) + vuz22 * Integer vuz230 == fromInt (Pos Zero)) (Integer (primMulInt vuz200 vuz210) + vuz22 * Integer vuz230) (Integer vuz44)",fontsize=16,color="magenta"];338 -> 349[label="",style="dashed", color="magenta", weight=3]; 338 -> 350[label="",style="dashed", color="magenta", weight=3]; 340 -> 253[label="",style="dashed", color="red", weight=0]; 340[label="primPlusInt vuz41 vuz47",fontsize=16,color="magenta"];340 -> 351[label="",style="dashed", color="magenta", weight=3]; 340 -> 352[label="",style="dashed", color="magenta", weight=3]; 341 -> 253[label="",style="dashed", color="red", weight=0]; 341[label="primPlusInt vuz41 vuz47",fontsize=16,color="magenta"];341 -> 353[label="",style="dashed", color="magenta", weight=3]; 341 -> 354[label="",style="dashed", color="magenta", weight=3]; 339[label="Integer vuz49 `quot` reduce2D (Integer vuz50) (Integer vuz230 * Integer vuz210)",fontsize=16,color="black",shape="triangle"];339 -> 355[label="",style="solid", color="black", weight=3]; 492[label="gcd0 vuz38 vuz33",fontsize=16,color="black",shape="triangle"];492 -> 508[label="",style="solid", color="black", weight=3]; 493 -> 509[label="",style="dashed", color="red", weight=0]; 493[label="gcd1 (vuz33 == fromInt (Pos Zero)) vuz38 vuz33",fontsize=16,color="magenta"];493 -> 510[label="",style="dashed", color="magenta", weight=3]; 505[label="primDivNatS (Succ vuz3200) (Succ vuz6500)",fontsize=16,color="black",shape="box"];505 -> 515[label="",style="solid", color="black", weight=3]; 506[label="primDivNatS Zero (Succ vuz6500)",fontsize=16,color="black",shape="box"];506 -> 516[label="",style="solid", color="black", weight=3]; 507[label="vuz6500",fontsize=16,color="green",shape="box"];511[label="vuz6800",fontsize=16,color="green",shape="box"];512[label="vuz320",fontsize=16,color="green",shape="box"];513[label="vuz6800",fontsize=16,color="green",shape="box"];514[label="vuz320",fontsize=16,color="green",shape="box"];349 -> 56[label="",style="dashed", color="red", weight=0]; 349[label="primMulInt vuz200 vuz210",fontsize=16,color="magenta"];349 -> 364[label="",style="dashed", color="magenta", weight=3]; 349 -> 365[label="",style="dashed", color="magenta", weight=3]; 350 -> 56[label="",style="dashed", color="red", weight=0]; 350[label="primMulInt vuz200 vuz210",fontsize=16,color="magenta"];350 -> 366[label="",style="dashed", color="magenta", weight=3]; 350 -> 367[label="",style="dashed", color="magenta", weight=3]; 348[label="Integer vuz43 `quot` gcd2 (Integer vuz54 + vuz22 * Integer vuz230 == fromInt (Pos Zero)) (Integer vuz53 + vuz22 * Integer vuz230) (Integer vuz44)",fontsize=16,color="burlywood",shape="triangle"];1523[label="vuz22/Integer vuz220",fontsize=10,color="white",style="solid",shape="box"];348 -> 1523[label="",style="solid", color="burlywood", weight=9]; 1523 -> 368[label="",style="solid", color="burlywood", weight=3]; 351[label="vuz41",fontsize=16,color="green",shape="box"];352[label="vuz47",fontsize=16,color="green",shape="box"];353[label="vuz41",fontsize=16,color="green",shape="box"];354[label="vuz47",fontsize=16,color="green",shape="box"];355[label="Integer vuz49 `quot` gcd (Integer vuz50) (Integer vuz230 * Integer vuz210)",fontsize=16,color="black",shape="box"];355 -> 369[label="",style="solid", color="black", weight=3]; 508[label="gcd0Gcd' (abs vuz38) (abs vuz33)",fontsize=16,color="black",shape="box"];508 -> 517[label="",style="solid", color="black", weight=3]; 510 -> 138[label="",style="dashed", color="red", weight=0]; 510[label="vuz33 == fromInt (Pos Zero)",fontsize=16,color="magenta"];510 -> 518[label="",style="dashed", color="magenta", weight=3]; 509[label="gcd1 vuz71 vuz38 vuz33",fontsize=16,color="burlywood",shape="triangle"];1524[label="vuz71/False",fontsize=10,color="white",style="solid",shape="box"];509 -> 1524[label="",style="solid", color="burlywood", weight=9]; 1524 -> 519[label="",style="solid", color="burlywood", weight=3]; 1525[label="vuz71/True",fontsize=10,color="white",style="solid",shape="box"];509 -> 1525[label="",style="solid", color="burlywood", weight=9]; 1525 -> 520[label="",style="solid", color="burlywood", weight=3]; 515[label="primDivNatS0 vuz3200 vuz6500 (primGEqNatS vuz3200 vuz6500)",fontsize=16,color="burlywood",shape="box"];1526[label="vuz3200/Succ vuz32000",fontsize=10,color="white",style="solid",shape="box"];515 -> 1526[label="",style="solid", color="burlywood", weight=9]; 1526 -> 524[label="",style="solid", color="burlywood", weight=3]; 1527[label="vuz3200/Zero",fontsize=10,color="white",style="solid",shape="box"];515 -> 1527[label="",style="solid", color="burlywood", weight=9]; 1527 -> 525[label="",style="solid", color="burlywood", weight=3]; 516[label="Zero",fontsize=16,color="green",shape="box"];364[label="vuz210",fontsize=16,color="green",shape="box"];365[label="vuz200",fontsize=16,color="green",shape="box"];366[label="vuz210",fontsize=16,color="green",shape="box"];367[label="vuz200",fontsize=16,color="green",shape="box"];368[label="Integer vuz43 `quot` gcd2 (Integer vuz54 + Integer vuz220 * Integer vuz230 == fromInt (Pos Zero)) (Integer vuz53 + Integer vuz220 * Integer vuz230) (Integer vuz44)",fontsize=16,color="black",shape="box"];368 -> 376[label="",style="solid", color="black", weight=3]; 369[label="Integer vuz49 `quot` gcd3 (Integer vuz50) (Integer vuz230 * Integer vuz210)",fontsize=16,color="black",shape="box"];369 -> 377[label="",style="solid", color="black", weight=3]; 517[label="gcd0Gcd'2 (abs vuz38) (abs vuz33)",fontsize=16,color="black",shape="box"];517 -> 526[label="",style="solid", color="black", weight=3]; 518[label="vuz33",fontsize=16,color="green",shape="box"];519[label="gcd1 False vuz38 vuz33",fontsize=16,color="black",shape="box"];519 -> 527[label="",style="solid", color="black", weight=3]; 520[label="gcd1 True vuz38 vuz33",fontsize=16,color="black",shape="box"];520 -> 528[label="",style="solid", color="black", weight=3]; 524[label="primDivNatS0 (Succ vuz32000) vuz6500 (primGEqNatS (Succ vuz32000) vuz6500)",fontsize=16,color="burlywood",shape="box"];1528[label="vuz6500/Succ vuz65000",fontsize=10,color="white",style="solid",shape="box"];524 -> 1528[label="",style="solid", color="burlywood", weight=9]; 1528 -> 536[label="",style="solid", color="burlywood", weight=3]; 1529[label="vuz6500/Zero",fontsize=10,color="white",style="solid",shape="box"];524 -> 1529[label="",style="solid", color="burlywood", weight=9]; 1529 -> 537[label="",style="solid", color="burlywood", weight=3]; 525[label="primDivNatS0 Zero vuz6500 (primGEqNatS Zero vuz6500)",fontsize=16,color="burlywood",shape="box"];1530[label="vuz6500/Succ vuz65000",fontsize=10,color="white",style="solid",shape="box"];525 -> 1530[label="",style="solid", color="burlywood", weight=9]; 1530 -> 538[label="",style="solid", color="burlywood", weight=3]; 1531[label="vuz6500/Zero",fontsize=10,color="white",style="solid",shape="box"];525 -> 1531[label="",style="solid", color="burlywood", weight=9]; 1531 -> 539[label="",style="solid", color="burlywood", weight=3]; 376 -> 384[label="",style="dashed", color="red", weight=0]; 376[label="Integer vuz43 `quot` gcd2 (Integer vuz54 + Integer (primMulInt vuz220 vuz230) == fromInt (Pos Zero)) (Integer vuz53 + Integer (primMulInt vuz220 vuz230)) (Integer vuz44)",fontsize=16,color="magenta"];376 -> 385[label="",style="dashed", color="magenta", weight=3]; 376 -> 386[label="",style="dashed", color="magenta", weight=3]; 377 -> 387[label="",style="dashed", color="red", weight=0]; 377[label="Integer vuz49 `quot` gcd2 (Integer vuz50 == fromInt (Pos Zero)) (Integer vuz50) (Integer vuz230 * Integer vuz210)",fontsize=16,color="magenta"];377 -> 388[label="",style="dashed", color="magenta", weight=3]; 526 -> 540[label="",style="dashed", color="red", weight=0]; 526[label="gcd0Gcd'1 (abs vuz33 == fromInt (Pos Zero)) (abs vuz38) (abs vuz33)",fontsize=16,color="magenta"];526 -> 541[label="",style="dashed", color="magenta", weight=3]; 527 -> 492[label="",style="dashed", color="red", weight=0]; 527[label="gcd0 vuz38 vuz33",fontsize=16,color="magenta"];528 -> 471[label="",style="dashed", color="red", weight=0]; 528[label="error []",fontsize=16,color="magenta"];536[label="primDivNatS0 (Succ vuz32000) (Succ vuz65000) (primGEqNatS (Succ vuz32000) (Succ vuz65000))",fontsize=16,color="black",shape="box"];536 -> 542[label="",style="solid", color="black", weight=3]; 537[label="primDivNatS0 (Succ vuz32000) Zero (primGEqNatS (Succ vuz32000) Zero)",fontsize=16,color="black",shape="box"];537 -> 543[label="",style="solid", color="black", weight=3]; 538[label="primDivNatS0 Zero (Succ vuz65000) (primGEqNatS Zero (Succ vuz65000))",fontsize=16,color="black",shape="box"];538 -> 544[label="",style="solid", color="black", weight=3]; 539[label="primDivNatS0 Zero Zero (primGEqNatS Zero Zero)",fontsize=16,color="black",shape="box"];539 -> 545[label="",style="solid", color="black", weight=3]; 385 -> 56[label="",style="dashed", color="red", weight=0]; 385[label="primMulInt vuz220 vuz230",fontsize=16,color="magenta"];385 -> 395[label="",style="dashed", color="magenta", weight=3]; 385 -> 396[label="",style="dashed", color="magenta", weight=3]; 386 -> 56[label="",style="dashed", color="red", weight=0]; 386[label="primMulInt vuz220 vuz230",fontsize=16,color="magenta"];386 -> 397[label="",style="dashed", color="magenta", weight=3]; 386 -> 398[label="",style="dashed", color="magenta", weight=3]; 384[label="Integer vuz43 `quot` gcd2 (Integer vuz54 + Integer vuz58 == fromInt (Pos Zero)) (Integer vuz53 + Integer vuz57) (Integer vuz44)",fontsize=16,color="black",shape="triangle"];384 -> 399[label="",style="solid", color="black", weight=3]; 388 -> 1043[label="",style="dashed", color="red", weight=0]; 388[label="Integer vuz50 == fromInt (Pos Zero)",fontsize=16,color="magenta"];388 -> 1047[label="",style="dashed", color="magenta", weight=3]; 387[label="Integer vuz49 `quot` gcd2 vuz59 (Integer vuz50) (Integer vuz230 * Integer vuz210)",fontsize=16,color="burlywood",shape="triangle"];1532[label="vuz59/False",fontsize=10,color="white",style="solid",shape="box"];387 -> 1532[label="",style="solid", color="burlywood", weight=9]; 1532 -> 401[label="",style="solid", color="burlywood", weight=3]; 1533[label="vuz59/True",fontsize=10,color="white",style="solid",shape="box"];387 -> 1533[label="",style="solid", color="burlywood", weight=9]; 1533 -> 402[label="",style="solid", color="burlywood", weight=3]; 541 -> 138[label="",style="dashed", color="red", weight=0]; 541[label="abs vuz33 == fromInt (Pos Zero)",fontsize=16,color="magenta"];541 -> 546[label="",style="dashed", color="magenta", weight=3]; 540[label="gcd0Gcd'1 vuz73 (abs vuz38) (abs vuz33)",fontsize=16,color="burlywood",shape="triangle"];1534[label="vuz73/False",fontsize=10,color="white",style="solid",shape="box"];540 -> 1534[label="",style="solid", color="burlywood", weight=9]; 1534 -> 547[label="",style="solid", color="burlywood", weight=3]; 1535[label="vuz73/True",fontsize=10,color="white",style="solid",shape="box"];540 -> 1535[label="",style="solid", color="burlywood", weight=9]; 1535 -> 548[label="",style="solid", color="burlywood", weight=3]; 542 -> 1098[label="",style="dashed", color="red", weight=0]; 542[label="primDivNatS0 (Succ vuz32000) (Succ vuz65000) (primGEqNatS vuz32000 vuz65000)",fontsize=16,color="magenta"];542 -> 1099[label="",style="dashed", color="magenta", weight=3]; 542 -> 1100[label="",style="dashed", color="magenta", weight=3]; 542 -> 1101[label="",style="dashed", color="magenta", weight=3]; 542 -> 1102[label="",style="dashed", color="magenta", weight=3]; 543[label="primDivNatS0 (Succ vuz32000) Zero True",fontsize=16,color="black",shape="box"];543 -> 556[label="",style="solid", color="black", weight=3]; 544[label="primDivNatS0 Zero (Succ vuz65000) False",fontsize=16,color="black",shape="box"];544 -> 557[label="",style="solid", color="black", weight=3]; 545[label="primDivNatS0 Zero Zero True",fontsize=16,color="black",shape="box"];545 -> 558[label="",style="solid", color="black", weight=3]; 395[label="vuz230",fontsize=16,color="green",shape="box"];396[label="vuz220",fontsize=16,color="green",shape="box"];397[label="vuz230",fontsize=16,color="green",shape="box"];398[label="vuz220",fontsize=16,color="green",shape="box"];399 -> 408[label="",style="dashed", color="red", weight=0]; 399[label="Integer vuz43 `quot` gcd2 (Integer (primPlusInt vuz54 vuz58) == fromInt (Pos Zero)) (Integer (primPlusInt vuz54 vuz58)) (Integer vuz44)",fontsize=16,color="magenta"];399 -> 409[label="",style="dashed", color="magenta", weight=3]; 399 -> 410[label="",style="dashed", color="magenta", weight=3]; 1047[label="Integer vuz50",fontsize=16,color="green",shape="box"];401[label="Integer vuz49 `quot` gcd2 False (Integer vuz50) (Integer vuz230 * Integer vuz210)",fontsize=16,color="black",shape="box"];401 -> 411[label="",style="solid", color="black", weight=3]; 402[label="Integer vuz49 `quot` gcd2 True (Integer vuz50) (Integer vuz230 * Integer vuz210)",fontsize=16,color="black",shape="box"];402 -> 412[label="",style="solid", color="black", weight=3]; 546[label="abs vuz33",fontsize=16,color="black",shape="triangle"];546 -> 559[label="",style="solid", color="black", weight=3]; 547[label="gcd0Gcd'1 False (abs vuz38) (abs vuz33)",fontsize=16,color="black",shape="box"];547 -> 560[label="",style="solid", color="black", weight=3]; 548[label="gcd0Gcd'1 True (abs vuz38) (abs vuz33)",fontsize=16,color="black",shape="box"];548 -> 561[label="",style="solid", color="black", weight=3]; 1099[label="vuz32000",fontsize=16,color="green",shape="box"];1100[label="vuz32000",fontsize=16,color="green",shape="box"];1101[label="vuz65000",fontsize=16,color="green",shape="box"];1102[label="vuz65000",fontsize=16,color="green",shape="box"];1098[label="primDivNatS0 (Succ vuz104) (Succ vuz105) (primGEqNatS vuz106 vuz107)",fontsize=16,color="burlywood",shape="triangle"];1536[label="vuz106/Succ vuz1060",fontsize=10,color="white",style="solid",shape="box"];1098 -> 1536[label="",style="solid", color="burlywood", weight=9]; 1536 -> 1142[label="",style="solid", color="burlywood", weight=3]; 1537[label="vuz106/Zero",fontsize=10,color="white",style="solid",shape="box"];1098 -> 1537[label="",style="solid", color="burlywood", weight=9]; 1537 -> 1143[label="",style="solid", color="burlywood", weight=3]; 556[label="Succ (primDivNatS (primMinusNatS (Succ vuz32000) Zero) (Succ Zero))",fontsize=16,color="green",shape="box"];556 -> 569[label="",style="dashed", color="green", weight=3]; 557[label="Zero",fontsize=16,color="green",shape="box"];558[label="Succ (primDivNatS (primMinusNatS Zero Zero) (Succ Zero))",fontsize=16,color="green",shape="box"];558 -> 570[label="",style="dashed", color="green", weight=3]; 409 -> 1043[label="",style="dashed", color="red", weight=0]; 409[label="Integer (primPlusInt vuz54 vuz58) == fromInt (Pos Zero)",fontsize=16,color="magenta"];409 -> 1048[label="",style="dashed", color="magenta", weight=3]; 410 -> 253[label="",style="dashed", color="red", weight=0]; 410[label="primPlusInt vuz54 vuz58",fontsize=16,color="magenta"];410 -> 478[label="",style="dashed", color="magenta", weight=3]; 410 -> 479[label="",style="dashed", color="magenta", weight=3]; 408[label="Integer vuz43 `quot` gcd2 vuz60 (Integer vuz61) (Integer vuz44)",fontsize=16,color="burlywood",shape="triangle"];1538[label="vuz60/False",fontsize=10,color="white",style="solid",shape="box"];408 -> 1538[label="",style="solid", color="burlywood", weight=9]; 1538 -> 480[label="",style="solid", color="burlywood", weight=3]; 1539[label="vuz60/True",fontsize=10,color="white",style="solid",shape="box"];408 -> 1539[label="",style="solid", color="burlywood", weight=9]; 1539 -> 481[label="",style="solid", color="burlywood", weight=3]; 411[label="Integer vuz49 `quot` gcd0 (Integer vuz50) (Integer vuz230 * Integer vuz210)",fontsize=16,color="black",shape="triangle"];411 -> 482[label="",style="solid", color="black", weight=3]; 412 -> 483[label="",style="dashed", color="red", weight=0]; 412[label="Integer vuz49 `quot` gcd1 (Integer vuz230 * Integer vuz210 == fromInt (Pos Zero)) (Integer vuz50) (Integer vuz230 * Integer vuz210)",fontsize=16,color="magenta"];412 -> 484[label="",style="dashed", color="magenta", weight=3]; 559[label="absReal vuz33",fontsize=16,color="black",shape="box"];559 -> 571[label="",style="solid", color="black", weight=3]; 560 -> 572[label="",style="dashed", color="red", weight=0]; 560[label="gcd0Gcd'0 (abs vuz38) (abs vuz33)",fontsize=16,color="magenta"];560 -> 573[label="",style="dashed", color="magenta", weight=3]; 560 -> 574[label="",style="dashed", color="magenta", weight=3]; 561 -> 546[label="",style="dashed", color="red", weight=0]; 561[label="abs vuz38",fontsize=16,color="magenta"];561 -> 575[label="",style="dashed", color="magenta", weight=3]; 1142[label="primDivNatS0 (Succ vuz104) (Succ vuz105) (primGEqNatS (Succ vuz1060) vuz107)",fontsize=16,color="burlywood",shape="box"];1540[label="vuz107/Succ vuz1070",fontsize=10,color="white",style="solid",shape="box"];1142 -> 1540[label="",style="solid", color="burlywood", weight=9]; 1540 -> 1161[label="",style="solid", color="burlywood", weight=3]; 1541[label="vuz107/Zero",fontsize=10,color="white",style="solid",shape="box"];1142 -> 1541[label="",style="solid", color="burlywood", weight=9]; 1541 -> 1162[label="",style="solid", color="burlywood", weight=3]; 1143[label="primDivNatS0 (Succ vuz104) (Succ vuz105) (primGEqNatS Zero vuz107)",fontsize=16,color="burlywood",shape="box"];1542[label="vuz107/Succ vuz1070",fontsize=10,color="white",style="solid",shape="box"];1143 -> 1542[label="",style="solid", color="burlywood", weight=9]; 1542 -> 1163[label="",style="solid", color="burlywood", weight=3]; 1543[label="vuz107/Zero",fontsize=10,color="white",style="solid",shape="box"];1143 -> 1543[label="",style="solid", color="burlywood", weight=9]; 1543 -> 1164[label="",style="solid", color="burlywood", weight=3]; 569 -> 489[label="",style="dashed", color="red", weight=0]; 569[label="primDivNatS (primMinusNatS (Succ vuz32000) Zero) (Succ Zero)",fontsize=16,color="magenta"];569 -> 580[label="",style="dashed", color="magenta", weight=3]; 569 -> 581[label="",style="dashed", color="magenta", weight=3]; 570 -> 489[label="",style="dashed", color="red", weight=0]; 570[label="primDivNatS (primMinusNatS Zero Zero) (Succ Zero)",fontsize=16,color="magenta"];570 -> 582[label="",style="dashed", color="magenta", weight=3]; 570 -> 583[label="",style="dashed", color="magenta", weight=3]; 1048[label="Integer (primPlusInt vuz54 vuz58)",fontsize=16,color="green",shape="box"];1048 -> 1056[label="",style="dashed", color="green", weight=3]; 478[label="vuz54",fontsize=16,color="green",shape="box"];479[label="vuz58",fontsize=16,color="green",shape="box"];480[label="Integer vuz43 `quot` gcd2 False (Integer vuz61) (Integer vuz44)",fontsize=16,color="black",shape="box"];480 -> 496[label="",style="solid", color="black", weight=3]; 481[label="Integer vuz43 `quot` gcd2 True (Integer vuz61) (Integer vuz44)",fontsize=16,color="black",shape="box"];481 -> 497[label="",style="solid", color="black", weight=3]; 482[label="Integer vuz49 `quot` gcd0Gcd' (abs (Integer vuz50)) (abs (Integer vuz230 * Integer vuz210))",fontsize=16,color="black",shape="box"];482 -> 498[label="",style="solid", color="black", weight=3]; 484 -> 1043[label="",style="dashed", color="red", weight=0]; 484[label="Integer vuz230 * Integer vuz210 == fromInt (Pos Zero)",fontsize=16,color="magenta"];484 -> 1049[label="",style="dashed", color="magenta", weight=3]; 483[label="Integer vuz49 `quot` gcd1 vuz70 (Integer vuz50) (Integer vuz230 * Integer vuz210)",fontsize=16,color="burlywood",shape="triangle"];1544[label="vuz70/False",fontsize=10,color="white",style="solid",shape="box"];483 -> 1544[label="",style="solid", color="burlywood", weight=9]; 1544 -> 501[label="",style="solid", color="burlywood", weight=3]; 1545[label="vuz70/True",fontsize=10,color="white",style="solid",shape="box"];483 -> 1545[label="",style="solid", color="burlywood", weight=9]; 1545 -> 502[label="",style="solid", color="burlywood", weight=3]; 571[label="absReal2 vuz33",fontsize=16,color="black",shape="box"];571 -> 584[label="",style="solid", color="black", weight=3]; 573 -> 546[label="",style="dashed", color="red", weight=0]; 573[label="abs vuz33",fontsize=16,color="magenta"];574 -> 546[label="",style="dashed", color="red", weight=0]; 574[label="abs vuz38",fontsize=16,color="magenta"];574 -> 585[label="",style="dashed", color="magenta", weight=3]; 572[label="gcd0Gcd'0 vuz75 vuz74",fontsize=16,color="black",shape="triangle"];572 -> 586[label="",style="solid", color="black", weight=3]; 575[label="vuz38",fontsize=16,color="green",shape="box"];1161[label="primDivNatS0 (Succ vuz104) (Succ vuz105) (primGEqNatS (Succ vuz1060) (Succ vuz1070))",fontsize=16,color="black",shape="box"];1161 -> 1180[label="",style="solid", color="black", weight=3]; 1162[label="primDivNatS0 (Succ vuz104) (Succ vuz105) (primGEqNatS (Succ vuz1060) Zero)",fontsize=16,color="black",shape="box"];1162 -> 1181[label="",style="solid", color="black", weight=3]; 1163[label="primDivNatS0 (Succ vuz104) (Succ vuz105) (primGEqNatS Zero (Succ vuz1070))",fontsize=16,color="black",shape="box"];1163 -> 1182[label="",style="solid", color="black", weight=3]; 1164[label="primDivNatS0 (Succ vuz104) (Succ vuz105) (primGEqNatS Zero Zero)",fontsize=16,color="black",shape="box"];1164 -> 1183[label="",style="solid", color="black", weight=3]; 580[label="Zero",fontsize=16,color="green",shape="box"];581[label="primMinusNatS (Succ vuz32000) Zero",fontsize=16,color="black",shape="triangle"];581 -> 594[label="",style="solid", color="black", weight=3]; 582[label="Zero",fontsize=16,color="green",shape="box"];583[label="primMinusNatS Zero Zero",fontsize=16,color="black",shape="triangle"];583 -> 595[label="",style="solid", color="black", weight=3]; 1056 -> 253[label="",style="dashed", color="red", weight=0]; 1056[label="primPlusInt vuz54 vuz58",fontsize=16,color="magenta"];1056 -> 1064[label="",style="dashed", color="magenta", weight=3]; 1056 -> 1065[label="",style="dashed", color="magenta", weight=3]; 496[label="Integer vuz43 `quot` gcd0 (Integer vuz61) (Integer vuz44)",fontsize=16,color="black",shape="triangle"];496 -> 521[label="",style="solid", color="black", weight=3]; 497 -> 522[label="",style="dashed", color="red", weight=0]; 497[label="Integer vuz43 `quot` gcd1 (Integer vuz44 == fromInt (Pos Zero)) (Integer vuz61) (Integer vuz44)",fontsize=16,color="magenta"];497 -> 523[label="",style="dashed", color="magenta", weight=3]; 498[label="Integer vuz49 `quot` gcd0Gcd'2 (abs (Integer vuz50)) (abs (Integer vuz230 * Integer vuz210))",fontsize=16,color="black",shape="box"];498 -> 529[label="",style="solid", color="black", weight=3]; 1049 -> 1044[label="",style="dashed", color="red", weight=0]; 1049[label="Integer vuz230 * Integer vuz210",fontsize=16,color="magenta"];1049 -> 1057[label="",style="dashed", color="magenta", weight=3]; 1049 -> 1058[label="",style="dashed", color="magenta", weight=3]; 501[label="Integer vuz49 `quot` gcd1 False (Integer vuz50) (Integer vuz230 * Integer vuz210)",fontsize=16,color="black",shape="box"];501 -> 530[label="",style="solid", color="black", weight=3]; 502[label="Integer vuz49 `quot` gcd1 True (Integer vuz50) (Integer vuz230 * Integer vuz210)",fontsize=16,color="black",shape="box"];502 -> 531[label="",style="solid", color="black", weight=3]; 584[label="absReal1 vuz33 (vuz33 >= fromInt (Pos Zero))",fontsize=16,color="black",shape="box"];584 -> 596[label="",style="solid", color="black", weight=3]; 585[label="vuz38",fontsize=16,color="green",shape="box"];586[label="gcd0Gcd' vuz74 (vuz75 `rem` vuz74)",fontsize=16,color="black",shape="box"];586 -> 597[label="",style="solid", color="black", weight=3]; 1180 -> 1098[label="",style="dashed", color="red", weight=0]; 1180[label="primDivNatS0 (Succ vuz104) (Succ vuz105) (primGEqNatS vuz1060 vuz1070)",fontsize=16,color="magenta"];1180 -> 1193[label="",style="dashed", color="magenta", weight=3]; 1180 -> 1194[label="",style="dashed", color="magenta", weight=3]; 1181[label="primDivNatS0 (Succ vuz104) (Succ vuz105) True",fontsize=16,color="black",shape="triangle"];1181 -> 1195[label="",style="solid", color="black", weight=3]; 1182[label="primDivNatS0 (Succ vuz104) (Succ vuz105) False",fontsize=16,color="black",shape="box"];1182 -> 1196[label="",style="solid", color="black", weight=3]; 1183 -> 1181[label="",style="dashed", color="red", weight=0]; 1183[label="primDivNatS0 (Succ vuz104) (Succ vuz105) True",fontsize=16,color="magenta"];594[label="Succ vuz32000",fontsize=16,color="green",shape="box"];595[label="Zero",fontsize=16,color="green",shape="box"];1064[label="vuz54",fontsize=16,color="green",shape="box"];1065[label="vuz58",fontsize=16,color="green",shape="box"];521[label="Integer vuz43 `quot` gcd0Gcd' (abs (Integer vuz61)) (abs (Integer vuz44))",fontsize=16,color="black",shape="box"];521 -> 532[label="",style="solid", color="black", weight=3]; 523 -> 1043[label="",style="dashed", color="red", weight=0]; 523[label="Integer vuz44 == fromInt (Pos Zero)",fontsize=16,color="magenta"];523 -> 1050[label="",style="dashed", color="magenta", weight=3]; 522[label="Integer vuz43 `quot` gcd1 vuz72 (Integer vuz61) (Integer vuz44)",fontsize=16,color="burlywood",shape="triangle"];1546[label="vuz72/False",fontsize=10,color="white",style="solid",shape="box"];522 -> 1546[label="",style="solid", color="burlywood", weight=9]; 1546 -> 534[label="",style="solid", color="burlywood", weight=3]; 1547[label="vuz72/True",fontsize=10,color="white",style="solid",shape="box"];522 -> 1547[label="",style="solid", color="burlywood", weight=9]; 1547 -> 535[label="",style="solid", color="burlywood", weight=3]; 529 -> 1026[label="",style="dashed", color="red", weight=0]; 529[label="Integer vuz49 `quot` gcd0Gcd'1 (abs (Integer vuz230 * Integer vuz210) == fromInt (Pos Zero)) (abs (Integer vuz50)) (abs (Integer vuz230 * Integer vuz210))",fontsize=16,color="magenta"];529 -> 1027[label="",style="dashed", color="magenta", weight=3]; 529 -> 1028[label="",style="dashed", color="magenta", weight=3]; 529 -> 1029[label="",style="dashed", color="magenta", weight=3]; 1057[label="Integer vuz210",fontsize=16,color="green",shape="box"];1058[label="Integer vuz230",fontsize=16,color="green",shape="box"];530 -> 411[label="",style="dashed", color="red", weight=0]; 530[label="Integer vuz49 `quot` gcd0 (Integer vuz50) (Integer vuz230 * Integer vuz210)",fontsize=16,color="magenta"];531[label="Integer vuz49 `quot` error []",fontsize=16,color="black",shape="triangle"];531 -> 550[label="",style="solid", color="black", weight=3]; 596[label="absReal1 vuz33 (compare vuz33 (fromInt (Pos Zero)) /= LT)",fontsize=16,color="black",shape="box"];596 -> 606[label="",style="solid", color="black", weight=3]; 597[label="gcd0Gcd'2 vuz74 (vuz75 `rem` vuz74)",fontsize=16,color="black",shape="box"];597 -> 607[label="",style="solid", color="black", weight=3]; 1193[label="vuz1060",fontsize=16,color="green",shape="box"];1194[label="vuz1070",fontsize=16,color="green",shape="box"];1195[label="Succ (primDivNatS (primMinusNatS (Succ vuz104) (Succ vuz105)) (Succ (Succ vuz105)))",fontsize=16,color="green",shape="box"];1195 -> 1199[label="",style="dashed", color="green", weight=3]; 1196[label="Zero",fontsize=16,color="green",shape="box"];532[label="Integer vuz43 `quot` gcd0Gcd'2 (abs (Integer vuz61)) (abs (Integer vuz44))",fontsize=16,color="black",shape="box"];532 -> 551[label="",style="solid", color="black", weight=3]; 1050[label="Integer vuz44",fontsize=16,color="green",shape="box"];534[label="Integer vuz43 `quot` gcd1 False (Integer vuz61) (Integer vuz44)",fontsize=16,color="black",shape="box"];534 -> 552[label="",style="solid", color="black", weight=3]; 535[label="Integer vuz43 `quot` gcd1 True (Integer vuz61) (Integer vuz44)",fontsize=16,color="black",shape="box"];535 -> 553[label="",style="solid", color="black", weight=3]; 1027 -> 1043[label="",style="dashed", color="red", weight=0]; 1027[label="abs (Integer vuz230 * Integer vuz210) == fromInt (Pos Zero)",fontsize=16,color="magenta"];1027 -> 1051[label="",style="dashed", color="magenta", weight=3]; 1028[label="abs (Integer vuz230 * Integer vuz210)",fontsize=16,color="black",shape="triangle"];1028 -> 1039[label="",style="solid", color="black", weight=3]; 1029[label="abs (Integer vuz50)",fontsize=16,color="black",shape="triangle"];1029 -> 1040[label="",style="solid", color="black", weight=3]; 1026[label="Integer vuz49 `quot` gcd0Gcd'1 vuz100 vuz99 vuz97",fontsize=16,color="burlywood",shape="triangle"];1548[label="vuz100/False",fontsize=10,color="white",style="solid",shape="box"];1026 -> 1548[label="",style="solid", color="burlywood", weight=9]; 1548 -> 1041[label="",style="solid", color="burlywood", weight=3]; 1549[label="vuz100/True",fontsize=10,color="white",style="solid",shape="box"];1026 -> 1549[label="",style="solid", color="burlywood", weight=9]; 1549 -> 1042[label="",style="solid", color="burlywood", weight=3]; 550[label="error []",fontsize=16,color="red",shape="box"];606[label="absReal1 vuz33 (not (compare vuz33 (fromInt (Pos Zero)) == LT))",fontsize=16,color="black",shape="box"];606 -> 618[label="",style="solid", color="black", weight=3]; 607 -> 619[label="",style="dashed", color="red", weight=0]; 607[label="gcd0Gcd'1 (vuz75 `rem` vuz74 == fromInt (Pos Zero)) vuz74 (vuz75 `rem` vuz74)",fontsize=16,color="magenta"];607 -> 620[label="",style="dashed", color="magenta", weight=3]; 1199 -> 489[label="",style="dashed", color="red", weight=0]; 1199[label="primDivNatS (primMinusNatS (Succ vuz104) (Succ vuz105)) (Succ (Succ vuz105))",fontsize=16,color="magenta"];1199 -> 1216[label="",style="dashed", color="magenta", weight=3]; 1199 -> 1217[label="",style="dashed", color="magenta", weight=3]; 551 -> 1026[label="",style="dashed", color="red", weight=0]; 551[label="Integer vuz43 `quot` gcd0Gcd'1 (abs (Integer vuz44) == fromInt (Pos Zero)) (abs (Integer vuz61)) (abs (Integer vuz44))",fontsize=16,color="magenta"];551 -> 1032[label="",style="dashed", color="magenta", weight=3]; 551 -> 1033[label="",style="dashed", color="magenta", weight=3]; 551 -> 1034[label="",style="dashed", color="magenta", weight=3]; 551 -> 1035[label="",style="dashed", color="magenta", weight=3]; 552 -> 496[label="",style="dashed", color="red", weight=0]; 552[label="Integer vuz43 `quot` gcd0 (Integer vuz61) (Integer vuz44)",fontsize=16,color="magenta"];553 -> 531[label="",style="dashed", color="red", weight=0]; 553[label="Integer vuz43 `quot` error []",fontsize=16,color="magenta"];553 -> 564[label="",style="dashed", color="magenta", weight=3]; 1051 -> 1028[label="",style="dashed", color="red", weight=0]; 1051[label="abs (Integer vuz230 * Integer vuz210)",fontsize=16,color="magenta"];1039 -> 1059[label="",style="dashed", color="red", weight=0]; 1039[label="absReal (Integer vuz230 * Integer vuz210)",fontsize=16,color="magenta"];1039 -> 1060[label="",style="dashed", color="magenta", weight=3]; 1040 -> 1059[label="",style="dashed", color="red", weight=0]; 1040[label="absReal (Integer vuz50)",fontsize=16,color="magenta"];1040 -> 1061[label="",style="dashed", color="magenta", weight=3]; 1041[label="Integer vuz49 `quot` gcd0Gcd'1 False vuz99 vuz97",fontsize=16,color="black",shape="box"];1041 -> 1066[label="",style="solid", color="black", weight=3]; 1042[label="Integer vuz49 `quot` gcd0Gcd'1 True vuz99 vuz97",fontsize=16,color="black",shape="box"];1042 -> 1067[label="",style="solid", color="black", weight=3]; 618[label="absReal1 vuz33 (not (primCmpInt vuz33 (fromInt (Pos Zero)) == LT))",fontsize=16,color="burlywood",shape="box"];1550[label="vuz33/Pos vuz330",fontsize=10,color="white",style="solid",shape="box"];618 -> 1550[label="",style="solid", color="burlywood", weight=9]; 1550 -> 628[label="",style="solid", color="burlywood", weight=3]; 1551[label="vuz33/Neg vuz330",fontsize=10,color="white",style="solid",shape="box"];618 -> 1551[label="",style="solid", color="burlywood", weight=9]; 1551 -> 629[label="",style="solid", color="burlywood", weight=3]; 620 -> 138[label="",style="dashed", color="red", weight=0]; 620[label="vuz75 `rem` vuz74 == fromInt (Pos Zero)",fontsize=16,color="magenta"];620 -> 630[label="",style="dashed", color="magenta", weight=3]; 619[label="gcd0Gcd'1 vuz76 vuz74 (vuz75 `rem` vuz74)",fontsize=16,color="burlywood",shape="triangle"];1552[label="vuz76/False",fontsize=10,color="white",style="solid",shape="box"];619 -> 1552[label="",style="solid", color="burlywood", weight=9]; 1552 -> 631[label="",style="solid", color="burlywood", weight=3]; 1553[label="vuz76/True",fontsize=10,color="white",style="solid",shape="box"];619 -> 1553[label="",style="solid", color="burlywood", weight=9]; 1553 -> 632[label="",style="solid", color="burlywood", weight=3]; 1216[label="Succ vuz105",fontsize=16,color="green",shape="box"];1217 -> 883[label="",style="dashed", color="red", weight=0]; 1217[label="primMinusNatS (Succ vuz104) (Succ vuz105)",fontsize=16,color="magenta"];1217 -> 1238[label="",style="dashed", color="magenta", weight=3]; 1217 -> 1239[label="",style="dashed", color="magenta", weight=3]; 1032[label="vuz43",fontsize=16,color="green",shape="box"];1033 -> 1043[label="",style="dashed", color="red", weight=0]; 1033[label="abs (Integer vuz44) == fromInt (Pos Zero)",fontsize=16,color="magenta"];1033 -> 1053[label="",style="dashed", color="magenta", weight=3]; 1034 -> 1029[label="",style="dashed", color="red", weight=0]; 1034[label="abs (Integer vuz44)",fontsize=16,color="magenta"];1034 -> 1068[label="",style="dashed", color="magenta", weight=3]; 1035 -> 1029[label="",style="dashed", color="red", weight=0]; 1035[label="abs (Integer vuz61)",fontsize=16,color="magenta"];1035 -> 1069[label="",style="dashed", color="magenta", weight=3]; 564[label="vuz43",fontsize=16,color="green",shape="box"];1060 -> 1044[label="",style="dashed", color="red", weight=0]; 1060[label="Integer vuz230 * Integer vuz210",fontsize=16,color="magenta"];1060 -> 1070[label="",style="dashed", color="magenta", weight=3]; 1060 -> 1071[label="",style="dashed", color="magenta", weight=3]; 1059[label="absReal vuz102",fontsize=16,color="black",shape="triangle"];1059 -> 1072[label="",style="solid", color="black", weight=3]; 1061[label="Integer vuz50",fontsize=16,color="green",shape="box"];1066[label="Integer vuz49 `quot` gcd0Gcd'0 vuz99 vuz97",fontsize=16,color="black",shape="box"];1066 -> 1090[label="",style="solid", color="black", weight=3]; 1067[label="Integer vuz49 `quot` vuz99",fontsize=16,color="burlywood",shape="triangle"];1554[label="vuz99/Integer vuz990",fontsize=10,color="white",style="solid",shape="box"];1067 -> 1554[label="",style="solid", color="burlywood", weight=9]; 1554 -> 1091[label="",style="solid", color="burlywood", weight=3]; 628[label="absReal1 (Pos vuz330) (not (primCmpInt (Pos vuz330) (fromInt (Pos Zero)) == LT))",fontsize=16,color="burlywood",shape="box"];1555[label="vuz330/Succ vuz3300",fontsize=10,color="white",style="solid",shape="box"];628 -> 1555[label="",style="solid", color="burlywood", weight=9]; 1555 -> 642[label="",style="solid", color="burlywood", weight=3]; 1556[label="vuz330/Zero",fontsize=10,color="white",style="solid",shape="box"];628 -> 1556[label="",style="solid", color="burlywood", weight=9]; 1556 -> 643[label="",style="solid", color="burlywood", weight=3]; 629[label="absReal1 (Neg vuz330) (not (primCmpInt (Neg vuz330) (fromInt (Pos Zero)) == LT))",fontsize=16,color="burlywood",shape="box"];1557[label="vuz330/Succ vuz3300",fontsize=10,color="white",style="solid",shape="box"];629 -> 1557[label="",style="solid", color="burlywood", weight=9]; 1557 -> 644[label="",style="solid", color="burlywood", weight=3]; 1558[label="vuz330/Zero",fontsize=10,color="white",style="solid",shape="box"];629 -> 1558[label="",style="solid", color="burlywood", weight=9]; 1558 -> 645[label="",style="solid", color="burlywood", weight=3]; 630[label="vuz75 `rem` vuz74",fontsize=16,color="black",shape="triangle"];630 -> 646[label="",style="solid", color="black", weight=3]; 631[label="gcd0Gcd'1 False vuz74 (vuz75 `rem` vuz74)",fontsize=16,color="black",shape="box"];631 -> 647[label="",style="solid", color="black", weight=3]; 632[label="gcd0Gcd'1 True vuz74 (vuz75 `rem` vuz74)",fontsize=16,color="black",shape="box"];632 -> 648[label="",style="solid", color="black", weight=3]; 1238[label="Succ vuz104",fontsize=16,color="green",shape="box"];1239[label="Succ vuz105",fontsize=16,color="green",shape="box"];883[label="primMinusNatS vuz94 vuz95",fontsize=16,color="burlywood",shape="triangle"];1559[label="vuz94/Succ vuz940",fontsize=10,color="white",style="solid",shape="box"];883 -> 1559[label="",style="solid", color="burlywood", weight=9]; 1559 -> 899[label="",style="solid", color="burlywood", weight=3]; 1560[label="vuz94/Zero",fontsize=10,color="white",style="solid",shape="box"];883 -> 1560[label="",style="solid", color="burlywood", weight=9]; 1560 -> 900[label="",style="solid", color="burlywood", weight=3]; 1053 -> 1029[label="",style="dashed", color="red", weight=0]; 1053[label="abs (Integer vuz44)",fontsize=16,color="magenta"];1053 -> 1073[label="",style="dashed", color="magenta", weight=3]; 1068[label="vuz44",fontsize=16,color="green",shape="box"];1069[label="vuz61",fontsize=16,color="green",shape="box"];1070[label="Integer vuz210",fontsize=16,color="green",shape="box"];1071[label="Integer vuz230",fontsize=16,color="green",shape="box"];1072[label="absReal2 vuz102",fontsize=16,color="black",shape="box"];1072 -> 1092[label="",style="solid", color="black", weight=3]; 1090 -> 1067[label="",style="dashed", color="red", weight=0]; 1090[label="Integer vuz49 `quot` gcd0Gcd' vuz97 (vuz99 `rem` vuz97)",fontsize=16,color="magenta"];1090 -> 1144[label="",style="dashed", color="magenta", weight=3]; 1091[label="Integer vuz49 `quot` Integer vuz990",fontsize=16,color="black",shape="box"];1091 -> 1145[label="",style="solid", color="black", weight=3]; 642[label="absReal1 (Pos (Succ vuz3300)) (not (primCmpInt (Pos (Succ vuz3300)) (fromInt (Pos Zero)) == LT))",fontsize=16,color="black",shape="box"];642 -> 668[label="",style="solid", color="black", weight=3]; 643[label="absReal1 (Pos Zero) (not (primCmpInt (Pos Zero) (fromInt (Pos Zero)) == LT))",fontsize=16,color="black",shape="box"];643 -> 669[label="",style="solid", color="black", weight=3]; 644[label="absReal1 (Neg (Succ vuz3300)) (not (primCmpInt (Neg (Succ vuz3300)) (fromInt (Pos Zero)) == LT))",fontsize=16,color="black",shape="box"];644 -> 670[label="",style="solid", color="black", weight=3]; 645[label="absReal1 (Neg Zero) (not (primCmpInt (Neg Zero) (fromInt (Pos Zero)) == LT))",fontsize=16,color="black",shape="box"];645 -> 671[label="",style="solid", color="black", weight=3]; 646[label="primRemInt vuz75 vuz74",fontsize=16,color="burlywood",shape="triangle"];1561[label="vuz75/Pos vuz750",fontsize=10,color="white",style="solid",shape="box"];646 -> 1561[label="",style="solid", color="burlywood", weight=9]; 1561 -> 672[label="",style="solid", color="burlywood", weight=3]; 1562[label="vuz75/Neg vuz750",fontsize=10,color="white",style="solid",shape="box"];646 -> 1562[label="",style="solid", color="burlywood", weight=9]; 1562 -> 673[label="",style="solid", color="burlywood", weight=3]; 647 -> 572[label="",style="dashed", color="red", weight=0]; 647[label="gcd0Gcd'0 vuz74 (vuz75 `rem` vuz74)",fontsize=16,color="magenta"];647 -> 674[label="",style="dashed", color="magenta", weight=3]; 647 -> 675[label="",style="dashed", color="magenta", weight=3]; 648[label="vuz74",fontsize=16,color="green",shape="box"];899[label="primMinusNatS (Succ vuz940) vuz95",fontsize=16,color="burlywood",shape="box"];1563[label="vuz95/Succ vuz950",fontsize=10,color="white",style="solid",shape="box"];899 -> 1563[label="",style="solid", color="burlywood", weight=9]; 1563 -> 989[label="",style="solid", color="burlywood", weight=3]; 1564[label="vuz95/Zero",fontsize=10,color="white",style="solid",shape="box"];899 -> 1564[label="",style="solid", color="burlywood", weight=9]; 1564 -> 990[label="",style="solid", color="burlywood", weight=3]; 900[label="primMinusNatS Zero vuz95",fontsize=16,color="burlywood",shape="box"];1565[label="vuz95/Succ vuz950",fontsize=10,color="white",style="solid",shape="box"];900 -> 1565[label="",style="solid", color="burlywood", weight=9]; 1565 -> 991[label="",style="solid", color="burlywood", weight=3]; 1566[label="vuz95/Zero",fontsize=10,color="white",style="solid",shape="box"];900 -> 1566[label="",style="solid", color="burlywood", weight=9]; 1566 -> 992[label="",style="solid", color="burlywood", weight=3]; 1073[label="vuz44",fontsize=16,color="green",shape="box"];1092[label="absReal1 vuz102 (vuz102 >= fromInt (Pos Zero))",fontsize=16,color="black",shape="box"];1092 -> 1146[label="",style="solid", color="black", weight=3]; 1144[label="gcd0Gcd' vuz97 (vuz99 `rem` vuz97)",fontsize=16,color="black",shape="triangle"];1144 -> 1165[label="",style="solid", color="black", weight=3]; 1145[label="Integer (primQuotInt vuz49 vuz990)",fontsize=16,color="green",shape="box"];1145 -> 1166[label="",style="dashed", color="green", weight=3]; 668[label="absReal1 (Pos (Succ vuz3300)) (not (primCmpInt (Pos (Succ vuz3300)) (Pos Zero) == LT))",fontsize=16,color="black",shape="box"];668 -> 692[label="",style="solid", color="black", weight=3]; 669[label="absReal1 (Pos Zero) (not (primCmpInt (Pos Zero) (Pos Zero) == LT))",fontsize=16,color="black",shape="box"];669 -> 693[label="",style="solid", color="black", weight=3]; 670[label="absReal1 (Neg (Succ vuz3300)) (not (primCmpInt (Neg (Succ vuz3300)) (Pos Zero) == LT))",fontsize=16,color="black",shape="box"];670 -> 694[label="",style="solid", color="black", weight=3]; 671[label="absReal1 (Neg Zero) (not (primCmpInt (Neg Zero) (Pos Zero) == LT))",fontsize=16,color="black",shape="box"];671 -> 695[label="",style="solid", color="black", weight=3]; 672[label="primRemInt (Pos vuz750) vuz74",fontsize=16,color="burlywood",shape="box"];1567[label="vuz74/Pos vuz740",fontsize=10,color="white",style="solid",shape="box"];672 -> 1567[label="",style="solid", color="burlywood", weight=9]; 1567 -> 696[label="",style="solid", color="burlywood", weight=3]; 1568[label="vuz74/Neg vuz740",fontsize=10,color="white",style="solid",shape="box"];672 -> 1568[label="",style="solid", color="burlywood", weight=9]; 1568 -> 697[label="",style="solid", color="burlywood", weight=3]; 673[label="primRemInt (Neg vuz750) vuz74",fontsize=16,color="burlywood",shape="box"];1569[label="vuz74/Pos vuz740",fontsize=10,color="white",style="solid",shape="box"];673 -> 1569[label="",style="solid", color="burlywood", weight=9]; 1569 -> 698[label="",style="solid", color="burlywood", weight=3]; 1570[label="vuz74/Neg vuz740",fontsize=10,color="white",style="solid",shape="box"];673 -> 1570[label="",style="solid", color="burlywood", weight=9]; 1570 -> 699[label="",style="solid", color="burlywood", weight=3]; 674 -> 630[label="",style="dashed", color="red", weight=0]; 674[label="vuz75 `rem` vuz74",fontsize=16,color="magenta"];675[label="vuz74",fontsize=16,color="green",shape="box"];989[label="primMinusNatS (Succ vuz940) (Succ vuz950)",fontsize=16,color="black",shape="box"];989 -> 1009[label="",style="solid", color="black", weight=3]; 990[label="primMinusNatS (Succ vuz940) Zero",fontsize=16,color="black",shape="box"];990 -> 1010[label="",style="solid", color="black", weight=3]; 991[label="primMinusNatS Zero (Succ vuz950)",fontsize=16,color="black",shape="box"];991 -> 1011[label="",style="solid", color="black", weight=3]; 992[label="primMinusNatS Zero Zero",fontsize=16,color="black",shape="box"];992 -> 1012[label="",style="solid", color="black", weight=3]; 1146[label="absReal1 vuz102 (compare vuz102 (fromInt (Pos Zero)) /= LT)",fontsize=16,color="black",shape="box"];1146 -> 1167[label="",style="solid", color="black", weight=3]; 1165[label="gcd0Gcd'2 vuz97 (vuz99 `rem` vuz97)",fontsize=16,color="black",shape="box"];1165 -> 1184[label="",style="solid", color="black", weight=3]; 1166[label="primQuotInt vuz49 vuz990",fontsize=16,color="burlywood",shape="box"];1571[label="vuz49/Pos vuz490",fontsize=10,color="white",style="solid",shape="box"];1166 -> 1571[label="",style="solid", color="burlywood", weight=9]; 1571 -> 1185[label="",style="solid", color="burlywood", weight=3]; 1572[label="vuz49/Neg vuz490",fontsize=10,color="white",style="solid",shape="box"];1166 -> 1572[label="",style="solid", color="burlywood", weight=9]; 1572 -> 1186[label="",style="solid", color="burlywood", weight=3]; 692[label="absReal1 (Pos (Succ vuz3300)) (not (primCmpNat (Succ vuz3300) Zero == LT))",fontsize=16,color="black",shape="box"];692 -> 708[label="",style="solid", color="black", weight=3]; 693[label="absReal1 (Pos Zero) (not (EQ == LT))",fontsize=16,color="black",shape="box"];693 -> 709[label="",style="solid", color="black", weight=3]; 694[label="absReal1 (Neg (Succ vuz3300)) (not (LT == LT))",fontsize=16,color="black",shape="box"];694 -> 710[label="",style="solid", color="black", weight=3]; 695[label="absReal1 (Neg Zero) (not (EQ == LT))",fontsize=16,color="black",shape="box"];695 -> 711[label="",style="solid", color="black", weight=3]; 696[label="primRemInt (Pos vuz750) (Pos vuz740)",fontsize=16,color="burlywood",shape="box"];1573[label="vuz740/Succ vuz7400",fontsize=10,color="white",style="solid",shape="box"];696 -> 1573[label="",style="solid", color="burlywood", weight=9]; 1573 -> 712[label="",style="solid", color="burlywood", weight=3]; 1574[label="vuz740/Zero",fontsize=10,color="white",style="solid",shape="box"];696 -> 1574[label="",style="solid", color="burlywood", weight=9]; 1574 -> 713[label="",style="solid", color="burlywood", weight=3]; 697[label="primRemInt (Pos vuz750) (Neg vuz740)",fontsize=16,color="burlywood",shape="box"];1575[label="vuz740/Succ vuz7400",fontsize=10,color="white",style="solid",shape="box"];697 -> 1575[label="",style="solid", color="burlywood", weight=9]; 1575 -> 714[label="",style="solid", color="burlywood", weight=3]; 1576[label="vuz740/Zero",fontsize=10,color="white",style="solid",shape="box"];697 -> 1576[label="",style="solid", color="burlywood", weight=9]; 1576 -> 715[label="",style="solid", color="burlywood", weight=3]; 698[label="primRemInt (Neg vuz750) (Pos vuz740)",fontsize=16,color="burlywood",shape="box"];1577[label="vuz740/Succ vuz7400",fontsize=10,color="white",style="solid",shape="box"];698 -> 1577[label="",style="solid", color="burlywood", weight=9]; 1577 -> 716[label="",style="solid", color="burlywood", weight=3]; 1578[label="vuz740/Zero",fontsize=10,color="white",style="solid",shape="box"];698 -> 1578[label="",style="solid", color="burlywood", weight=9]; 1578 -> 717[label="",style="solid", color="burlywood", weight=3]; 699[label="primRemInt (Neg vuz750) (Neg vuz740)",fontsize=16,color="burlywood",shape="box"];1579[label="vuz740/Succ vuz7400",fontsize=10,color="white",style="solid",shape="box"];699 -> 1579[label="",style="solid", color="burlywood", weight=9]; 1579 -> 718[label="",style="solid", color="burlywood", weight=3]; 1580[label="vuz740/Zero",fontsize=10,color="white",style="solid",shape="box"];699 -> 1580[label="",style="solid", color="burlywood", weight=9]; 1580 -> 719[label="",style="solid", color="burlywood", weight=3]; 1009 -> 883[label="",style="dashed", color="red", weight=0]; 1009[label="primMinusNatS vuz940 vuz950",fontsize=16,color="magenta"];1009 -> 1074[label="",style="dashed", color="magenta", weight=3]; 1009 -> 1075[label="",style="dashed", color="magenta", weight=3]; 1010[label="Succ vuz940",fontsize=16,color="green",shape="box"];1011[label="Zero",fontsize=16,color="green",shape="box"];1012[label="Zero",fontsize=16,color="green",shape="box"];1167[label="absReal1 vuz102 (not (compare vuz102 (fromInt (Pos Zero)) == LT))",fontsize=16,color="burlywood",shape="box"];1581[label="vuz102/Integer vuz1020",fontsize=10,color="white",style="solid",shape="box"];1167 -> 1581[label="",style="solid", color="burlywood", weight=9]; 1581 -> 1187[label="",style="solid", color="burlywood", weight=3]; 1184 -> 1197[label="",style="dashed", color="red", weight=0]; 1184[label="gcd0Gcd'1 (vuz99 `rem` vuz97 == fromInt (Pos Zero)) vuz97 (vuz99 `rem` vuz97)",fontsize=16,color="magenta"];1184 -> 1198[label="",style="dashed", color="magenta", weight=3]; 1185[label="primQuotInt (Pos vuz490) vuz990",fontsize=16,color="burlywood",shape="box"];1582[label="vuz990/Pos vuz9900",fontsize=10,color="white",style="solid",shape="box"];1185 -> 1582[label="",style="solid", color="burlywood", weight=9]; 1582 -> 1200[label="",style="solid", color="burlywood", weight=3]; 1583[label="vuz990/Neg vuz9900",fontsize=10,color="white",style="solid",shape="box"];1185 -> 1583[label="",style="solid", color="burlywood", weight=9]; 1583 -> 1201[label="",style="solid", color="burlywood", weight=3]; 1186[label="primQuotInt (Neg vuz490) vuz990",fontsize=16,color="burlywood",shape="box"];1584[label="vuz990/Pos vuz9900",fontsize=10,color="white",style="solid",shape="box"];1186 -> 1584[label="",style="solid", color="burlywood", weight=9]; 1584 -> 1202[label="",style="solid", color="burlywood", weight=3]; 1585[label="vuz990/Neg vuz9900",fontsize=10,color="white",style="solid",shape="box"];1186 -> 1585[label="",style="solid", color="burlywood", weight=9]; 1585 -> 1203[label="",style="solid", color="burlywood", weight=3]; 708[label="absReal1 (Pos (Succ vuz3300)) (not (GT == LT))",fontsize=16,color="black",shape="box"];708 -> 730[label="",style="solid", color="black", weight=3]; 709[label="absReal1 (Pos Zero) (not False)",fontsize=16,color="black",shape="box"];709 -> 731[label="",style="solid", color="black", weight=3]; 710[label="absReal1 (Neg (Succ vuz3300)) (not True)",fontsize=16,color="black",shape="box"];710 -> 732[label="",style="solid", color="black", weight=3]; 711[label="absReal1 (Neg Zero) (not False)",fontsize=16,color="black",shape="box"];711 -> 733[label="",style="solid", color="black", weight=3]; 712[label="primRemInt (Pos vuz750) (Pos (Succ vuz7400))",fontsize=16,color="black",shape="box"];712 -> 734[label="",style="solid", color="black", weight=3]; 713[label="primRemInt (Pos vuz750) (Pos Zero)",fontsize=16,color="black",shape="box"];713 -> 735[label="",style="solid", color="black", weight=3]; 714[label="primRemInt (Pos vuz750) (Neg (Succ vuz7400))",fontsize=16,color="black",shape="box"];714 -> 736[label="",style="solid", color="black", weight=3]; 715[label="primRemInt (Pos vuz750) (Neg Zero)",fontsize=16,color="black",shape="box"];715 -> 737[label="",style="solid", color="black", weight=3]; 716[label="primRemInt (Neg vuz750) (Pos (Succ vuz7400))",fontsize=16,color="black",shape="box"];716 -> 738[label="",style="solid", color="black", weight=3]; 717[label="primRemInt (Neg vuz750) (Pos Zero)",fontsize=16,color="black",shape="box"];717 -> 739[label="",style="solid", color="black", weight=3]; 718[label="primRemInt (Neg vuz750) (Neg (Succ vuz7400))",fontsize=16,color="black",shape="box"];718 -> 740[label="",style="solid", color="black", weight=3]; 719[label="primRemInt (Neg vuz750) (Neg Zero)",fontsize=16,color="black",shape="box"];719 -> 741[label="",style="solid", color="black", weight=3]; 1074[label="vuz940",fontsize=16,color="green",shape="box"];1075[label="vuz950",fontsize=16,color="green",shape="box"];1187[label="absReal1 (Integer vuz1020) (not (compare (Integer vuz1020) (fromInt (Pos Zero)) == LT))",fontsize=16,color="black",shape="box"];1187 -> 1204[label="",style="solid", color="black", weight=3]; 1198 -> 1043[label="",style="dashed", color="red", weight=0]; 1198[label="vuz99 `rem` vuz97 == fromInt (Pos Zero)",fontsize=16,color="magenta"];1198 -> 1205[label="",style="dashed", color="magenta", weight=3]; 1197[label="gcd0Gcd'1 vuz108 vuz97 (vuz99 `rem` vuz97)",fontsize=16,color="burlywood",shape="triangle"];1586[label="vuz108/False",fontsize=10,color="white",style="solid",shape="box"];1197 -> 1586[label="",style="solid", color="burlywood", weight=9]; 1586 -> 1206[label="",style="solid", color="burlywood", weight=3]; 1587[label="vuz108/True",fontsize=10,color="white",style="solid",shape="box"];1197 -> 1587[label="",style="solid", color="burlywood", weight=9]; 1587 -> 1207[label="",style="solid", color="burlywood", weight=3]; 1200[label="primQuotInt (Pos vuz490) (Pos vuz9900)",fontsize=16,color="burlywood",shape="box"];1588[label="vuz9900/Succ vuz99000",fontsize=10,color="white",style="solid",shape="box"];1200 -> 1588[label="",style="solid", color="burlywood", weight=9]; 1588 -> 1218[label="",style="solid", color="burlywood", weight=3]; 1589[label="vuz9900/Zero",fontsize=10,color="white",style="solid",shape="box"];1200 -> 1589[label="",style="solid", color="burlywood", weight=9]; 1589 -> 1219[label="",style="solid", color="burlywood", weight=3]; 1201[label="primQuotInt (Pos vuz490) (Neg vuz9900)",fontsize=16,color="burlywood",shape="box"];1590[label="vuz9900/Succ vuz99000",fontsize=10,color="white",style="solid",shape="box"];1201 -> 1590[label="",style="solid", color="burlywood", weight=9]; 1590 -> 1220[label="",style="solid", color="burlywood", weight=3]; 1591[label="vuz9900/Zero",fontsize=10,color="white",style="solid",shape="box"];1201 -> 1591[label="",style="solid", color="burlywood", weight=9]; 1591 -> 1221[label="",style="solid", color="burlywood", weight=3]; 1202[label="primQuotInt (Neg vuz490) (Pos vuz9900)",fontsize=16,color="burlywood",shape="box"];1592[label="vuz9900/Succ vuz99000",fontsize=10,color="white",style="solid",shape="box"];1202 -> 1592[label="",style="solid", color="burlywood", weight=9]; 1592 -> 1222[label="",style="solid", color="burlywood", weight=3]; 1593[label="vuz9900/Zero",fontsize=10,color="white",style="solid",shape="box"];1202 -> 1593[label="",style="solid", color="burlywood", weight=9]; 1593 -> 1223[label="",style="solid", color="burlywood", weight=3]; 1203[label="primQuotInt (Neg vuz490) (Neg vuz9900)",fontsize=16,color="burlywood",shape="box"];1594[label="vuz9900/Succ vuz99000",fontsize=10,color="white",style="solid",shape="box"];1203 -> 1594[label="",style="solid", color="burlywood", weight=9]; 1594 -> 1224[label="",style="solid", color="burlywood", weight=3]; 1595[label="vuz9900/Zero",fontsize=10,color="white",style="solid",shape="box"];1203 -> 1595[label="",style="solid", color="burlywood", weight=9]; 1595 -> 1225[label="",style="solid", color="burlywood", weight=3]; 730[label="absReal1 (Pos (Succ vuz3300)) (not False)",fontsize=16,color="black",shape="box"];730 -> 753[label="",style="solid", color="black", weight=3]; 731[label="absReal1 (Pos Zero) True",fontsize=16,color="black",shape="box"];731 -> 754[label="",style="solid", color="black", weight=3]; 732[label="absReal1 (Neg (Succ vuz3300)) False",fontsize=16,color="black",shape="box"];732 -> 755[label="",style="solid", color="black", weight=3]; 733[label="absReal1 (Neg Zero) True",fontsize=16,color="black",shape="box"];733 -> 756[label="",style="solid", color="black", weight=3]; 734[label="Pos (primModNatS vuz750 (Succ vuz7400))",fontsize=16,color="green",shape="box"];734 -> 757[label="",style="dashed", color="green", weight=3]; 735 -> 471[label="",style="dashed", color="red", weight=0]; 735[label="error []",fontsize=16,color="magenta"];736[label="Pos (primModNatS vuz750 (Succ vuz7400))",fontsize=16,color="green",shape="box"];736 -> 758[label="",style="dashed", color="green", weight=3]; 737 -> 471[label="",style="dashed", color="red", weight=0]; 737[label="error []",fontsize=16,color="magenta"];738[label="Neg (primModNatS vuz750 (Succ vuz7400))",fontsize=16,color="green",shape="box"];738 -> 759[label="",style="dashed", color="green", weight=3]; 739 -> 471[label="",style="dashed", color="red", weight=0]; 739[label="error []",fontsize=16,color="magenta"];740[label="Neg (primModNatS vuz750 (Succ vuz7400))",fontsize=16,color="green",shape="box"];740 -> 760[label="",style="dashed", color="green", weight=3]; 741 -> 471[label="",style="dashed", color="red", weight=0]; 741[label="error []",fontsize=16,color="magenta"];1204[label="absReal1 (Integer vuz1020) (not (compare (Integer vuz1020) (Integer (Pos Zero)) == LT))",fontsize=16,color="black",shape="box"];1204 -> 1226[label="",style="solid", color="black", weight=3]; 1205[label="vuz99 `rem` vuz97",fontsize=16,color="burlywood",shape="triangle"];1596[label="vuz99/Integer vuz990",fontsize=10,color="white",style="solid",shape="box"];1205 -> 1596[label="",style="solid", color="burlywood", weight=9]; 1596 -> 1227[label="",style="solid", color="burlywood", weight=3]; 1206[label="gcd0Gcd'1 False vuz97 (vuz99 `rem` vuz97)",fontsize=16,color="black",shape="box"];1206 -> 1228[label="",style="solid", color="black", weight=3]; 1207[label="gcd0Gcd'1 True vuz97 (vuz99 `rem` vuz97)",fontsize=16,color="black",shape="box"];1207 -> 1229[label="",style="solid", color="black", weight=3]; 1218[label="primQuotInt (Pos vuz490) (Pos (Succ vuz99000))",fontsize=16,color="black",shape="box"];1218 -> 1240[label="",style="solid", color="black", weight=3]; 1219[label="primQuotInt (Pos vuz490) (Pos Zero)",fontsize=16,color="black",shape="box"];1219 -> 1241[label="",style="solid", color="black", weight=3]; 1220[label="primQuotInt (Pos vuz490) (Neg (Succ vuz99000))",fontsize=16,color="black",shape="box"];1220 -> 1242[label="",style="solid", color="black", weight=3]; 1221[label="primQuotInt (Pos vuz490) (Neg Zero)",fontsize=16,color="black",shape="box"];1221 -> 1243[label="",style="solid", color="black", weight=3]; 1222[label="primQuotInt (Neg vuz490) (Pos (Succ vuz99000))",fontsize=16,color="black",shape="box"];1222 -> 1244[label="",style="solid", color="black", weight=3]; 1223[label="primQuotInt (Neg vuz490) (Pos Zero)",fontsize=16,color="black",shape="box"];1223 -> 1245[label="",style="solid", color="black", weight=3]; 1224[label="primQuotInt (Neg vuz490) (Neg (Succ vuz99000))",fontsize=16,color="black",shape="box"];1224 -> 1246[label="",style="solid", color="black", weight=3]; 1225[label="primQuotInt (Neg vuz490) (Neg Zero)",fontsize=16,color="black",shape="box"];1225 -> 1247[label="",style="solid", color="black", weight=3]; 753[label="absReal1 (Pos (Succ vuz3300)) True",fontsize=16,color="black",shape="box"];753 -> 772[label="",style="solid", color="black", weight=3]; 754[label="Pos Zero",fontsize=16,color="green",shape="box"];755[label="absReal0 (Neg (Succ vuz3300)) otherwise",fontsize=16,color="black",shape="box"];755 -> 773[label="",style="solid", color="black", weight=3]; 756[label="Neg Zero",fontsize=16,color="green",shape="box"];757[label="primModNatS vuz750 (Succ vuz7400)",fontsize=16,color="burlywood",shape="triangle"];1597[label="vuz750/Succ vuz7500",fontsize=10,color="white",style="solid",shape="box"];757 -> 1597[label="",style="solid", color="burlywood", weight=9]; 1597 -> 774[label="",style="solid", color="burlywood", weight=3]; 1598[label="vuz750/Zero",fontsize=10,color="white",style="solid",shape="box"];757 -> 1598[label="",style="solid", color="burlywood", weight=9]; 1598 -> 775[label="",style="solid", color="burlywood", weight=3]; 758 -> 757[label="",style="dashed", color="red", weight=0]; 758[label="primModNatS vuz750 (Succ vuz7400)",fontsize=16,color="magenta"];758 -> 776[label="",style="dashed", color="magenta", weight=3]; 759 -> 757[label="",style="dashed", color="red", weight=0]; 759[label="primModNatS vuz750 (Succ vuz7400)",fontsize=16,color="magenta"];759 -> 777[label="",style="dashed", color="magenta", weight=3]; 760 -> 757[label="",style="dashed", color="red", weight=0]; 760[label="primModNatS vuz750 (Succ vuz7400)",fontsize=16,color="magenta"];760 -> 778[label="",style="dashed", color="magenta", weight=3]; 760 -> 779[label="",style="dashed", color="magenta", weight=3]; 1226[label="absReal1 (Integer vuz1020) (not (primCmpInt vuz1020 (Pos Zero) == LT))",fontsize=16,color="burlywood",shape="box"];1599[label="vuz1020/Pos vuz10200",fontsize=10,color="white",style="solid",shape="box"];1226 -> 1599[label="",style="solid", color="burlywood", weight=9]; 1599 -> 1248[label="",style="solid", color="burlywood", weight=3]; 1600[label="vuz1020/Neg vuz10200",fontsize=10,color="white",style="solid",shape="box"];1226 -> 1600[label="",style="solid", color="burlywood", weight=9]; 1600 -> 1249[label="",style="solid", color="burlywood", weight=3]; 1227[label="Integer vuz990 `rem` vuz97",fontsize=16,color="burlywood",shape="box"];1601[label="vuz97/Integer vuz970",fontsize=10,color="white",style="solid",shape="box"];1227 -> 1601[label="",style="solid", color="burlywood", weight=9]; 1601 -> 1250[label="",style="solid", color="burlywood", weight=3]; 1228 -> 1251[label="",style="dashed", color="red", weight=0]; 1228[label="gcd0Gcd'0 vuz97 (vuz99 `rem` vuz97)",fontsize=16,color="magenta"];1228 -> 1252[label="",style="dashed", color="magenta", weight=3]; 1229[label="vuz97",fontsize=16,color="green",shape="box"];1240[label="Pos (primDivNatS vuz490 (Succ vuz99000))",fontsize=16,color="green",shape="box"];1240 -> 1253[label="",style="dashed", color="green", weight=3]; 1241 -> 471[label="",style="dashed", color="red", weight=0]; 1241[label="error []",fontsize=16,color="magenta"];1242[label="Neg (primDivNatS vuz490 (Succ vuz99000))",fontsize=16,color="green",shape="box"];1242 -> 1254[label="",style="dashed", color="green", weight=3]; 1243 -> 471[label="",style="dashed", color="red", weight=0]; 1243[label="error []",fontsize=16,color="magenta"];1244[label="Neg (primDivNatS vuz490 (Succ vuz99000))",fontsize=16,color="green",shape="box"];1244 -> 1255[label="",style="dashed", color="green", weight=3]; 1245 -> 471[label="",style="dashed", color="red", weight=0]; 1245[label="error []",fontsize=16,color="magenta"];1246[label="Pos (primDivNatS vuz490 (Succ vuz99000))",fontsize=16,color="green",shape="box"];1246 -> 1256[label="",style="dashed", color="green", weight=3]; 1247 -> 471[label="",style="dashed", color="red", weight=0]; 1247[label="error []",fontsize=16,color="magenta"];772[label="Pos (Succ vuz3300)",fontsize=16,color="green",shape="box"];773[label="absReal0 (Neg (Succ vuz3300)) True",fontsize=16,color="black",shape="box"];773 -> 791[label="",style="solid", color="black", weight=3]; 774[label="primModNatS (Succ vuz7500) (Succ vuz7400)",fontsize=16,color="black",shape="box"];774 -> 792[label="",style="solid", color="black", weight=3]; 775[label="primModNatS Zero (Succ vuz7400)",fontsize=16,color="black",shape="box"];775 -> 793[label="",style="solid", color="black", weight=3]; 776[label="vuz7400",fontsize=16,color="green",shape="box"];777[label="vuz750",fontsize=16,color="green",shape="box"];778[label="vuz7400",fontsize=16,color="green",shape="box"];779[label="vuz750",fontsize=16,color="green",shape="box"];1248[label="absReal1 (Integer (Pos vuz10200)) (not (primCmpInt (Pos vuz10200) (Pos Zero) == LT))",fontsize=16,color="burlywood",shape="box"];1602[label="vuz10200/Succ vuz102000",fontsize=10,color="white",style="solid",shape="box"];1248 -> 1602[label="",style="solid", color="burlywood", weight=9]; 1602 -> 1257[label="",style="solid", color="burlywood", weight=3]; 1603[label="vuz10200/Zero",fontsize=10,color="white",style="solid",shape="box"];1248 -> 1603[label="",style="solid", color="burlywood", weight=9]; 1603 -> 1258[label="",style="solid", color="burlywood", weight=3]; 1249[label="absReal1 (Integer (Neg vuz10200)) (not (primCmpInt (Neg vuz10200) (Pos Zero) == LT))",fontsize=16,color="burlywood",shape="box"];1604[label="vuz10200/Succ vuz102000",fontsize=10,color="white",style="solid",shape="box"];1249 -> 1604[label="",style="solid", color="burlywood", weight=9]; 1604 -> 1259[label="",style="solid", color="burlywood", weight=3]; 1605[label="vuz10200/Zero",fontsize=10,color="white",style="solid",shape="box"];1249 -> 1605[label="",style="solid", color="burlywood", weight=9]; 1605 -> 1260[label="",style="solid", color="burlywood", weight=3]; 1250[label="Integer vuz990 `rem` Integer vuz970",fontsize=16,color="black",shape="box"];1250 -> 1261[label="",style="solid", color="black", weight=3]; 1252 -> 1205[label="",style="dashed", color="red", weight=0]; 1252[label="vuz99 `rem` vuz97",fontsize=16,color="magenta"];1251[label="gcd0Gcd'0 vuz97 vuz109",fontsize=16,color="black",shape="triangle"];1251 -> 1262[label="",style="solid", color="black", weight=3]; 1253 -> 489[label="",style="dashed", color="red", weight=0]; 1253[label="primDivNatS vuz490 (Succ vuz99000)",fontsize=16,color="magenta"];1253 -> 1268[label="",style="dashed", color="magenta", weight=3]; 1253 -> 1269[label="",style="dashed", color="magenta", weight=3]; 1254 -> 489[label="",style="dashed", color="red", weight=0]; 1254[label="primDivNatS vuz490 (Succ vuz99000)",fontsize=16,color="magenta"];1254 -> 1270[label="",style="dashed", color="magenta", weight=3]; 1254 -> 1271[label="",style="dashed", color="magenta", weight=3]; 1255 -> 489[label="",style="dashed", color="red", weight=0]; 1255[label="primDivNatS vuz490 (Succ vuz99000)",fontsize=16,color="magenta"];1255 -> 1272[label="",style="dashed", color="magenta", weight=3]; 1255 -> 1273[label="",style="dashed", color="magenta", weight=3]; 1256 -> 489[label="",style="dashed", color="red", weight=0]; 1256[label="primDivNatS vuz490 (Succ vuz99000)",fontsize=16,color="magenta"];1256 -> 1274[label="",style="dashed", color="magenta", weight=3]; 1256 -> 1275[label="",style="dashed", color="magenta", weight=3]; 791 -> 65[label="",style="dashed", color="red", weight=0]; 791[label="`negate` Neg (Succ vuz3300)",fontsize=16,color="magenta"];791 -> 811[label="",style="dashed", color="magenta", weight=3]; 792[label="primModNatS0 vuz7500 vuz7400 (primGEqNatS vuz7500 vuz7400)",fontsize=16,color="burlywood",shape="box"];1606[label="vuz7500/Succ vuz75000",fontsize=10,color="white",style="solid",shape="box"];792 -> 1606[label="",style="solid", color="burlywood", weight=9]; 1606 -> 812[label="",style="solid", color="burlywood", weight=3]; 1607[label="vuz7500/Zero",fontsize=10,color="white",style="solid",shape="box"];792 -> 1607[label="",style="solid", color="burlywood", weight=9]; 1607 -> 813[label="",style="solid", color="burlywood", weight=3]; 793[label="Zero",fontsize=16,color="green",shape="box"];1257[label="absReal1 (Integer (Pos (Succ vuz102000))) (not (primCmpInt (Pos (Succ vuz102000)) (Pos Zero) == LT))",fontsize=16,color="black",shape="box"];1257 -> 1276[label="",style="solid", color="black", weight=3]; 1258[label="absReal1 (Integer (Pos Zero)) (not (primCmpInt (Pos Zero) (Pos Zero) == LT))",fontsize=16,color="black",shape="box"];1258 -> 1277[label="",style="solid", color="black", weight=3]; 1259[label="absReal1 (Integer (Neg (Succ vuz102000))) (not (primCmpInt (Neg (Succ vuz102000)) (Pos Zero) == LT))",fontsize=16,color="black",shape="box"];1259 -> 1278[label="",style="solid", color="black", weight=3]; 1260[label="absReal1 (Integer (Neg Zero)) (not (primCmpInt (Neg Zero) (Pos Zero) == LT))",fontsize=16,color="black",shape="box"];1260 -> 1279[label="",style="solid", color="black", weight=3]; 1261[label="Integer (primRemInt vuz990 vuz970)",fontsize=16,color="green",shape="box"];1261 -> 1280[label="",style="dashed", color="green", weight=3]; 1262 -> 1144[label="",style="dashed", color="red", weight=0]; 1262[label="gcd0Gcd' vuz109 (vuz97 `rem` vuz109)",fontsize=16,color="magenta"];1262 -> 1281[label="",style="dashed", color="magenta", weight=3]; 1262 -> 1282[label="",style="dashed", color="magenta", weight=3]; 1268[label="vuz99000",fontsize=16,color="green",shape="box"];1269[label="vuz490",fontsize=16,color="green",shape="box"];1270[label="vuz99000",fontsize=16,color="green",shape="box"];1271[label="vuz490",fontsize=16,color="green",shape="box"];1272[label="vuz99000",fontsize=16,color="green",shape="box"];1273[label="vuz490",fontsize=16,color="green",shape="box"];1274[label="vuz99000",fontsize=16,color="green",shape="box"];1275[label="vuz490",fontsize=16,color="green",shape="box"];811[label="Neg (Succ vuz3300)",fontsize=16,color="green",shape="box"];812[label="primModNatS0 (Succ vuz75000) vuz7400 (primGEqNatS (Succ vuz75000) vuz7400)",fontsize=16,color="burlywood",shape="box"];1608[label="vuz7400/Succ vuz74000",fontsize=10,color="white",style="solid",shape="box"];812 -> 1608[label="",style="solid", color="burlywood", weight=9]; 1608 -> 843[label="",style="solid", color="burlywood", weight=3]; 1609[label="vuz7400/Zero",fontsize=10,color="white",style="solid",shape="box"];812 -> 1609[label="",style="solid", color="burlywood", weight=9]; 1609 -> 844[label="",style="solid", color="burlywood", weight=3]; 813[label="primModNatS0 Zero vuz7400 (primGEqNatS Zero vuz7400)",fontsize=16,color="burlywood",shape="box"];1610[label="vuz7400/Succ vuz74000",fontsize=10,color="white",style="solid",shape="box"];813 -> 1610[label="",style="solid", color="burlywood", weight=9]; 1610 -> 845[label="",style="solid", color="burlywood", weight=3]; 1611[label="vuz7400/Zero",fontsize=10,color="white",style="solid",shape="box"];813 -> 1611[label="",style="solid", color="burlywood", weight=9]; 1611 -> 846[label="",style="solid", color="burlywood", weight=3]; 1276[label="absReal1 (Integer (Pos (Succ vuz102000))) (not (primCmpNat (Succ vuz102000) Zero == LT))",fontsize=16,color="black",shape="box"];1276 -> 1291[label="",style="solid", color="black", weight=3]; 1277[label="absReal1 (Integer (Pos Zero)) (not (EQ == LT))",fontsize=16,color="black",shape="box"];1277 -> 1292[label="",style="solid", color="black", weight=3]; 1278[label="absReal1 (Integer (Neg (Succ vuz102000))) (not (LT == LT))",fontsize=16,color="black",shape="box"];1278 -> 1293[label="",style="solid", color="black", weight=3]; 1279[label="absReal1 (Integer (Neg Zero)) (not (EQ == LT))",fontsize=16,color="black",shape="box"];1279 -> 1294[label="",style="solid", color="black", weight=3]; 1280 -> 646[label="",style="dashed", color="red", weight=0]; 1280[label="primRemInt vuz990 vuz970",fontsize=16,color="magenta"];1280 -> 1295[label="",style="dashed", color="magenta", weight=3]; 1280 -> 1296[label="",style="dashed", color="magenta", weight=3]; 1281[label="vuz109",fontsize=16,color="green",shape="box"];1282[label="vuz97",fontsize=16,color="green",shape="box"];843[label="primModNatS0 (Succ vuz75000) (Succ vuz74000) (primGEqNatS (Succ vuz75000) (Succ vuz74000))",fontsize=16,color="black",shape="box"];843 -> 854[label="",style="solid", color="black", weight=3]; 844[label="primModNatS0 (Succ vuz75000) Zero (primGEqNatS (Succ vuz75000) Zero)",fontsize=16,color="black",shape="box"];844 -> 855[label="",style="solid", color="black", weight=3]; 845[label="primModNatS0 Zero (Succ vuz74000) (primGEqNatS Zero (Succ vuz74000))",fontsize=16,color="black",shape="box"];845 -> 856[label="",style="solid", color="black", weight=3]; 846[label="primModNatS0 Zero Zero (primGEqNatS Zero Zero)",fontsize=16,color="black",shape="box"];846 -> 857[label="",style="solid", color="black", weight=3]; 1291[label="absReal1 (Integer (Pos (Succ vuz102000))) (not (GT == LT))",fontsize=16,color="black",shape="box"];1291 -> 1305[label="",style="solid", color="black", weight=3]; 1292[label="absReal1 (Integer (Pos Zero)) (not False)",fontsize=16,color="black",shape="box"];1292 -> 1306[label="",style="solid", color="black", weight=3]; 1293[label="absReal1 (Integer (Neg (Succ vuz102000))) (not True)",fontsize=16,color="black",shape="box"];1293 -> 1307[label="",style="solid", color="black", weight=3]; 1294[label="absReal1 (Integer (Neg Zero)) (not False)",fontsize=16,color="black",shape="box"];1294 -> 1308[label="",style="solid", color="black", weight=3]; 1295[label="vuz970",fontsize=16,color="green",shape="box"];1296[label="vuz990",fontsize=16,color="green",shape="box"];854 -> 1370[label="",style="dashed", color="red", weight=0]; 854[label="primModNatS0 (Succ vuz75000) (Succ vuz74000) (primGEqNatS vuz75000 vuz74000)",fontsize=16,color="magenta"];854 -> 1371[label="",style="dashed", color="magenta", weight=3]; 854 -> 1372[label="",style="dashed", color="magenta", weight=3]; 854 -> 1373[label="",style="dashed", color="magenta", weight=3]; 854 -> 1374[label="",style="dashed", color="magenta", weight=3]; 855[label="primModNatS0 (Succ vuz75000) Zero True",fontsize=16,color="black",shape="box"];855 -> 868[label="",style="solid", color="black", weight=3]; 856[label="primModNatS0 Zero (Succ vuz74000) False",fontsize=16,color="black",shape="box"];856 -> 869[label="",style="solid", color="black", weight=3]; 857[label="primModNatS0 Zero Zero True",fontsize=16,color="black",shape="box"];857 -> 870[label="",style="solid", color="black", weight=3]; 1305[label="absReal1 (Integer (Pos (Succ vuz102000))) (not False)",fontsize=16,color="black",shape="box"];1305 -> 1313[label="",style="solid", color="black", weight=3]; 1306[label="absReal1 (Integer (Pos Zero)) True",fontsize=16,color="black",shape="box"];1306 -> 1314[label="",style="solid", color="black", weight=3]; 1307[label="absReal1 (Integer (Neg (Succ vuz102000))) False",fontsize=16,color="black",shape="box"];1307 -> 1315[label="",style="solid", color="black", weight=3]; 1308[label="absReal1 (Integer (Neg Zero)) True",fontsize=16,color="black",shape="box"];1308 -> 1316[label="",style="solid", color="black", weight=3]; 1371[label="vuz74000",fontsize=16,color="green",shape="box"];1372[label="vuz74000",fontsize=16,color="green",shape="box"];1373[label="vuz75000",fontsize=16,color="green",shape="box"];1374[label="vuz75000",fontsize=16,color="green",shape="box"];1370[label="primModNatS0 (Succ vuz126) (Succ vuz127) (primGEqNatS vuz128 vuz129)",fontsize=16,color="burlywood",shape="triangle"];1612[label="vuz128/Succ vuz1280",fontsize=10,color="white",style="solid",shape="box"];1370 -> 1612[label="",style="solid", color="burlywood", weight=9]; 1612 -> 1403[label="",style="solid", color="burlywood", weight=3]; 1613[label="vuz128/Zero",fontsize=10,color="white",style="solid",shape="box"];1370 -> 1613[label="",style="solid", color="burlywood", weight=9]; 1613 -> 1404[label="",style="solid", color="burlywood", weight=3]; 868 -> 757[label="",style="dashed", color="red", weight=0]; 868[label="primModNatS (primMinusNatS (Succ vuz75000) Zero) (Succ Zero)",fontsize=16,color="magenta"];868 -> 888[label="",style="dashed", color="magenta", weight=3]; 868 -> 889[label="",style="dashed", color="magenta", weight=3]; 869[label="Succ Zero",fontsize=16,color="green",shape="box"];870 -> 757[label="",style="dashed", color="red", weight=0]; 870[label="primModNatS (primMinusNatS Zero Zero) (Succ Zero)",fontsize=16,color="magenta"];870 -> 890[label="",style="dashed", color="magenta", weight=3]; 870 -> 891[label="",style="dashed", color="magenta", weight=3]; 1313[label="absReal1 (Integer (Pos (Succ vuz102000))) True",fontsize=16,color="black",shape="box"];1313 -> 1320[label="",style="solid", color="black", weight=3]; 1314[label="Integer (Pos Zero)",fontsize=16,color="green",shape="box"];1315[label="absReal0 (Integer (Neg (Succ vuz102000))) otherwise",fontsize=16,color="black",shape="box"];1315 -> 1321[label="",style="solid", color="black", weight=3]; 1316[label="Integer (Neg Zero)",fontsize=16,color="green",shape="box"];1403[label="primModNatS0 (Succ vuz126) (Succ vuz127) (primGEqNatS (Succ vuz1280) vuz129)",fontsize=16,color="burlywood",shape="box"];1614[label="vuz129/Succ vuz1290",fontsize=10,color="white",style="solid",shape="box"];1403 -> 1614[label="",style="solid", color="burlywood", weight=9]; 1614 -> 1405[label="",style="solid", color="burlywood", weight=3]; 1615[label="vuz129/Zero",fontsize=10,color="white",style="solid",shape="box"];1403 -> 1615[label="",style="solid", color="burlywood", weight=9]; 1615 -> 1406[label="",style="solid", color="burlywood", weight=3]; 1404[label="primModNatS0 (Succ vuz126) (Succ vuz127) (primGEqNatS Zero vuz129)",fontsize=16,color="burlywood",shape="box"];1616[label="vuz129/Succ vuz1290",fontsize=10,color="white",style="solid",shape="box"];1404 -> 1616[label="",style="solid", color="burlywood", weight=9]; 1616 -> 1407[label="",style="solid", color="burlywood", weight=3]; 1617[label="vuz129/Zero",fontsize=10,color="white",style="solid",shape="box"];1404 -> 1617[label="",style="solid", color="burlywood", weight=9]; 1617 -> 1408[label="",style="solid", color="burlywood", weight=3]; 888[label="Zero",fontsize=16,color="green",shape="box"];889 -> 883[label="",style="dashed", color="red", weight=0]; 889[label="primMinusNatS (Succ vuz75000) Zero",fontsize=16,color="magenta"];889 -> 905[label="",style="dashed", color="magenta", weight=3]; 889 -> 906[label="",style="dashed", color="magenta", weight=3]; 890[label="Zero",fontsize=16,color="green",shape="box"];891 -> 883[label="",style="dashed", color="red", weight=0]; 891[label="primMinusNatS Zero Zero",fontsize=16,color="magenta"];891 -> 907[label="",style="dashed", color="magenta", weight=3]; 891 -> 908[label="",style="dashed", color="magenta", weight=3]; 1320[label="Integer (Pos (Succ vuz102000))",fontsize=16,color="green",shape="box"];1321[label="absReal0 (Integer (Neg (Succ vuz102000))) True",fontsize=16,color="black",shape="box"];1321 -> 1325[label="",style="solid", color="black", weight=3]; 1405[label="primModNatS0 (Succ vuz126) (Succ vuz127) (primGEqNatS (Succ vuz1280) (Succ vuz1290))",fontsize=16,color="black",shape="box"];1405 -> 1409[label="",style="solid", color="black", weight=3]; 1406[label="primModNatS0 (Succ vuz126) (Succ vuz127) (primGEqNatS (Succ vuz1280) Zero)",fontsize=16,color="black",shape="box"];1406 -> 1410[label="",style="solid", color="black", weight=3]; 1407[label="primModNatS0 (Succ vuz126) (Succ vuz127) (primGEqNatS Zero (Succ vuz1290))",fontsize=16,color="black",shape="box"];1407 -> 1411[label="",style="solid", color="black", weight=3]; 1408[label="primModNatS0 (Succ vuz126) (Succ vuz127) (primGEqNatS Zero Zero)",fontsize=16,color="black",shape="box"];1408 -> 1412[label="",style="solid", color="black", weight=3]; 905[label="Succ vuz75000",fontsize=16,color="green",shape="box"];906[label="Zero",fontsize=16,color="green",shape="box"];907[label="Zero",fontsize=16,color="green",shape="box"];908[label="Zero",fontsize=16,color="green",shape="box"];1325 -> 66[label="",style="dashed", color="red", weight=0]; 1325[label="`negate` Integer (Neg (Succ vuz102000))",fontsize=16,color="magenta"];1325 -> 1328[label="",style="dashed", color="magenta", weight=3]; 1409 -> 1370[label="",style="dashed", color="red", weight=0]; 1409[label="primModNatS0 (Succ vuz126) (Succ vuz127) (primGEqNatS vuz1280 vuz1290)",fontsize=16,color="magenta"];1409 -> 1413[label="",style="dashed", color="magenta", weight=3]; 1409 -> 1414[label="",style="dashed", color="magenta", weight=3]; 1410[label="primModNatS0 (Succ vuz126) (Succ vuz127) True",fontsize=16,color="black",shape="triangle"];1410 -> 1415[label="",style="solid", color="black", weight=3]; 1411[label="primModNatS0 (Succ vuz126) (Succ vuz127) False",fontsize=16,color="black",shape="box"];1411 -> 1416[label="",style="solid", color="black", weight=3]; 1412 -> 1410[label="",style="dashed", color="red", weight=0]; 1412[label="primModNatS0 (Succ vuz126) (Succ vuz127) True",fontsize=16,color="magenta"];1328[label="Integer (Neg (Succ vuz102000))",fontsize=16,color="green",shape="box"];1413[label="vuz1290",fontsize=16,color="green",shape="box"];1414[label="vuz1280",fontsize=16,color="green",shape="box"];1415 -> 757[label="",style="dashed", color="red", weight=0]; 1415[label="primModNatS (primMinusNatS (Succ vuz126) (Succ vuz127)) (Succ (Succ vuz127))",fontsize=16,color="magenta"];1415 -> 1417[label="",style="dashed", color="magenta", weight=3]; 1415 -> 1418[label="",style="dashed", color="magenta", weight=3]; 1416[label="Succ (Succ vuz126)",fontsize=16,color="green",shape="box"];1417[label="Succ vuz127",fontsize=16,color="green",shape="box"];1418 -> 883[label="",style="dashed", color="red", weight=0]; 1418[label="primMinusNatS (Succ vuz126) (Succ vuz127)",fontsize=16,color="magenta"];1418 -> 1419[label="",style="dashed", color="magenta", weight=3]; 1418 -> 1420[label="",style="dashed", color="magenta", weight=3]; 1419[label="Succ vuz126",fontsize=16,color="green",shape="box"];1420[label="Succ vuz127",fontsize=16,color="green",shape="box"];} ---------------------------------------- (888) Complex Obligation (AND) ---------------------------------------- (889) 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. ---------------------------------------- (890) 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 ---------------------------------------- (891) YES ---------------------------------------- (892) Obligation: Q DP problem: P is empty. R is empty. Q is empty. We have to consider all (P,Q,R)-chains. ---------------------------------------- (893) PisEmptyProof (EQUIVALENT) The TRS P is empty. Hence, there is no (P,Q,R) chain. ---------------------------------------- (894) YES ---------------------------------------- (895) 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. ---------------------------------------- (896) 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 ---------------------------------------- (897) YES