/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, 4 ms] (6) HASKELL (7) LetRed [EQUIVALENT, 0 ms] (8) HASKELL (9) NumRed [SOUND, 6 ms] (10) HASKELL (11) Narrow [SOUND, 0 ms] (12) AND (13) QDP (14) DependencyGraphProof [EQUIVALENT, 0 ms] (15) AND (16) QDP (17) QDPOrderProof [EQUIVALENT, 0 ms] (18) QDP (19) DependencyGraphProof [EQUIVALENT, 0 ms] (20) QDP (21) QDPSizeChangeProof [EQUIVALENT, 0 ms] (22) YES (23) QDP (24) MRRProof [EQUIVALENT, 13 ms] (25) QDP (26) PisEmptyProof [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) TransformationProof [EQUIVALENT, 0 ms] (75) QDP (76) DependencyGraphProof [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) DependencyGraphProof [EQUIVALENT, 0 ms] (96) QDP (97) TransformationProof [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) DependencyGraphProof [EQUIVALENT, 0 ms] (110) QDP (111) TransformationProof [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, 0 ms] (120) YES (121) QDP (122) UsableRulesProof [EQUIVALENT, 0 ms] (123) QDP (124) QReductionProof [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) TransformationProof [EQUIVALENT, 0 ms] (143) QDP (144) DependencyGraphProof [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) TransformationProof [EQUIVALENT, 0 ms] (167) QDP (168) DependencyGraphProof [EQUIVALENT, 0 ms] (169) QDP (170) TransformationProof [EQUIVALENT, 0 ms] (171) QDP (172) DependencyGraphProof [EQUIVALENT, 0 ms] (173) AND (174) QDP (175) TransformationProof [EQUIVALENT, 0 ms] (176) QDP (177) TransformationProof [EQUIVALENT, 0 ms] (178) QDP (179) TransformationProof [EQUIVALENT, 0 ms] (180) QDP (181) TransformationProof [EQUIVALENT, 0 ms] (182) QDP (183) TransformationProof [EQUIVALENT, 0 ms] (184) QDP (185) TransformationProof [EQUIVALENT, 0 ms] (186) QDP (187) DependencyGraphProof [EQUIVALENT, 0 ms] (188) QDP (189) QDPOrderProof [EQUIVALENT, 391 ms] (190) QDP (191) DependencyGraphProof [EQUIVALENT, 0 ms] (192) TRUE (193) QDP (194) TransformationProof [EQUIVALENT, 0 ms] (195) QDP (196) DependencyGraphProof [EQUIVALENT, 0 ms] (197) AND (198) QDP (199) TransformationProof [EQUIVALENT, 0 ms] (200) QDP (201) TransformationProof [EQUIVALENT, 0 ms] (202) QDP (203) TransformationProof [EQUIVALENT, 0 ms] (204) QDP (205) TransformationProof [EQUIVALENT, 0 ms] (206) QDP (207) QReductionProof [EQUIVALENT, 0 ms] (208) QDP (209) InductionCalculusProof [EQUIVALENT, 0 ms] (210) QDP (211) QDP (212) QReductionProof [EQUIVALENT, 0 ms] (213) QDP (214) InductionCalculusProof [EQUIVALENT, 0 ms] (215) QDP (216) QDP (217) UsableRulesProof [EQUIVALENT, 0 ms] (218) QDP (219) QReductionProof [EQUIVALENT, 0 ms] (220) QDP (221) TransformationProof [EQUIVALENT, 0 ms] (222) QDP (223) DependencyGraphProof [EQUIVALENT, 0 ms] (224) QDP (225) TransformationProof [EQUIVALENT, 0 ms] (226) QDP (227) TransformationProof [EQUIVALENT, 0 ms] (228) QDP (229) DependencyGraphProof [EQUIVALENT, 0 ms] (230) QDP (231) TransformationProof [EQUIVALENT, 0 ms] (232) QDP (233) DependencyGraphProof [EQUIVALENT, 0 ms] (234) AND (235) QDP (236) UsableRulesProof [EQUIVALENT, 0 ms] (237) QDP (238) QReductionProof [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) TransformationProof [EQUIVALENT, 0 ms] (253) QDP (254) DependencyGraphProof [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) TransformationProof [EQUIVALENT, 0 ms] (267) QDP (268) DependencyGraphProof [EQUIVALENT, 0 ms] (269) QDP (270) TransformationProof [EQUIVALENT, 0 ms] (271) QDP (272) QDPSizeChangeProof [EQUIVALENT, 0 ms] (273) YES (274) QDP (275) UsableRulesProof [EQUIVALENT, 0 ms] (276) QDP (277) QReductionProof [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) TransformationProof [EQUIVALENT, 0 ms] (294) QDP (295) TransformationProof [EQUIVALENT, 0 ms] (296) QDP (297) DependencyGraphProof [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) TransformationProof [EQUIVALENT, 0 ms] (318) QDP (319) TransformationProof [EQUIVALENT, 0 ms] (320) QDP (321) DependencyGraphProof [EQUIVALENT, 0 ms] (322) QDP (323) TransformationProof [EQUIVALENT, 0 ms] (324) QDP (325) DependencyGraphProof [EQUIVALENT, 0 ms] (326) AND (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) TransformationProof [EQUIVALENT, 0 ms] (337) QDP (338) TransformationProof [EQUIVALENT, 0 ms] (339) QDP (340) DependencyGraphProof [EQUIVALENT, 0 ms] (341) QDP (342) QDPOrderProof [EQUIVALENT, 393 ms] (343) QDP (344) DependencyGraphProof [EQUIVALENT, 0 ms] (345) TRUE (346) QDP (347) TransformationProof [EQUIVALENT, 0 ms] (348) QDP (349) DependencyGraphProof [EQUIVALENT, 0 ms] (350) AND (351) QDP (352) TransformationProof [EQUIVALENT, 0 ms] (353) QDP (354) TransformationProof [EQUIVALENT, 0 ms] (355) QDP (356) TransformationProof [EQUIVALENT, 0 ms] (357) QDP (358) TransformationProof [EQUIVALENT, 0 ms] (359) QDP (360) QReductionProof [EQUIVALENT, 0 ms] (361) QDP (362) InductionCalculusProof [EQUIVALENT, 0 ms] (363) QDP (364) QDP (365) QReductionProof [EQUIVALENT, 2 ms] (366) QDP (367) InductionCalculusProof [EQUIVALENT, 0 ms] (368) QDP (369) QDP (370) UsableRulesProof [EQUIVALENT, 0 ms] (371) QDP (372) QReductionProof [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) DependencyGraphProof [EQUIVALENT, 0 ms] (387) QDP (388) TransformationProof [EQUIVALENT, 0 ms] (389) QDP (390) TransformationProof [EQUIVALENT, 0 ms] (391) QDP (392) TransformationProof [EQUIVALENT, 0 ms] (393) QDP (394) DependencyGraphProof [EQUIVALENT, 0 ms] (395) QDP (396) TransformationProof [EQUIVALENT, 0 ms] (397) QDP (398) TransformationProof [EQUIVALENT, 0 ms] (399) QDP (400) TransformationProof [EQUIVALENT, 0 ms] (401) QDP (402) TransformationProof [EQUIVALENT, 0 ms] (403) QDP (404) DependencyGraphProof [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) TransformationProof [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) QDP (422) TransformationProof [EQUIVALENT, 0 ms] (423) QDP (424) DependencyGraphProof [EQUIVALENT, 0 ms] (425) AND (426) QDP (427) UsableRulesProof [EQUIVALENT, 0 ms] (428) QDP (429) QReductionProof [EQUIVALENT, 0 ms] (430) QDP (431) TransformationProof [EQUIVALENT, 0 ms] (432) QDP (433) TransformationProof [EQUIVALENT, 0 ms] (434) QDP (435) DependencyGraphProof [EQUIVALENT, 0 ms] (436) QDP (437) TransformationProof [EQUIVALENT, 0 ms] (438) QDP (439) TransformationProof [EQUIVALENT, 0 ms] (440) QDP (441) DependencyGraphProof [EQUIVALENT, 0 ms] (442) QDP (443) TransformationProof [EQUIVALENT, 0 ms] (444) QDP (445) TransformationProof [EQUIVALENT, 0 ms] (446) QDP (447) TransformationProof [EQUIVALENT, 0 ms] (448) QDP (449) DependencyGraphProof [EQUIVALENT, 0 ms] (450) QDP (451) TransformationProof [EQUIVALENT, 0 ms] (452) QDP (453) TransformationProof [EQUIVALENT, 0 ms] (454) QDP (455) DependencyGraphProof [EQUIVALENT, 0 ms] (456) QDP (457) TransformationProof [EQUIVALENT, 0 ms] (458) QDP (459) QDPSizeChangeProof [EQUIVALENT, 0 ms] (460) YES (461) QDP (462) UsableRulesProof [EQUIVALENT, 0 ms] (463) QDP (464) QReductionProof [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) TransformationProof [EQUIVALENT, 0 ms] (473) QDP (474) TransformationProof [EQUIVALENT, 0 ms] (475) QDP (476) DependencyGraphProof [EQUIVALENT, 0 ms] (477) QDP (478) TransformationProof [EQUIVALENT, 0 ms] (479) QDP (480) TransformationProof [EQUIVALENT, 0 ms] (481) QDP (482) TransformationProof [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) DependencyGraphProof [EQUIVALENT, 0 ms] (491) QDP (492) TransformationProof [EQUIVALENT, 0 ms] (493) QDP (494) TransformationProof [EQUIVALENT, 0 ms] (495) QDP (496) DependencyGraphProof [EQUIVALENT, 0 ms] (497) QDP (498) TransformationProof [EQUIVALENT, 0 ms] (499) QDP (500) QDPSizeChangeProof [EQUIVALENT, 0 ms] (501) YES (502) QDP (503) UsableRulesProof [EQUIVALENT, 0 ms] (504) QDP (505) QReductionProof [EQUIVALENT, 0 ms] (506) QDP (507) TransformationProof [EQUIVALENT, 0 ms] (508) QDP (509) TransformationProof [EQUIVALENT, 0 ms] (510) QDP (511) TransformationProof [EQUIVALENT, 0 ms] (512) QDP (513) TransformationProof [EQUIVALENT, 0 ms] (514) QDP (515) TransformationProof [EQUIVALENT, 0 ms] (516) QDP (517) TransformationProof [EQUIVALENT, 0 ms] (518) QDP (519) TransformationProof [EQUIVALENT, 0 ms] (520) QDP (521) TransformationProof [EQUIVALENT, 0 ms] (522) QDP (523) TransformationProof [EQUIVALENT, 0 ms] (524) QDP (525) DependencyGraphProof [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) TransformationProof [EQUIVALENT, 0 ms] (534) QDP (535) TransformationProof [EQUIVALENT, 0 ms] (536) QDP (537) TransformationProof [EQUIVALENT, 0 ms] (538) QDP (539) TransformationProof [EQUIVALENT, 0 ms] (540) QDP (541) DependencyGraphProof [EQUIVALENT, 0 ms] (542) QDP (543) TransformationProof [EQUIVALENT, 0 ms] (544) QDP (545) DependencyGraphProof [EQUIVALENT, 0 ms] (546) QDP (547) TransformationProof [EQUIVALENT, 0 ms] (548) QDP (549) TransformationProof [EQUIVALENT, 0 ms] (550) QDP (551) TransformationProof [EQUIVALENT, 0 ms] (552) QDP (553) TransformationProof [EQUIVALENT, 0 ms] (554) QDP (555) TransformationProof [EQUIVALENT, 0 ms] (556) QDP (557) DependencyGraphProof [EQUIVALENT, 0 ms] (558) QDP (559) TransformationProof [EQUIVALENT, 0 ms] (560) QDP (561) DependencyGraphProof [EQUIVALENT, 0 ms] (562) QDP (563) TransformationProof [EQUIVALENT, 0 ms] (564) QDP (565) DependencyGraphProof [EQUIVALENT, 0 ms] (566) AND (567) QDP (568) UsableRulesProof [EQUIVALENT, 0 ms] (569) QDP (570) TransformationProof [EQUIVALENT, 0 ms] (571) QDP (572) TransformationProof [EQUIVALENT, 0 ms] (573) QDP (574) TransformationProof [EQUIVALENT, 0 ms] (575) QDP (576) TransformationProof [EQUIVALENT, 0 ms] (577) QDP (578) DependencyGraphProof [EQUIVALENT, 0 ms] (579) QDP (580) TransformationProof [EQUIVALENT, 0 ms] (581) QDP (582) DependencyGraphProof [EQUIVALENT, 0 ms] (583) QDP (584) InductionCalculusProof [EQUIVALENT, 0 ms] (585) QDP (586) QDP (587) UsableRulesProof [EQUIVALENT, 0 ms] (588) QDP (589) TransformationProof [EQUIVALENT, 0 ms] (590) QDP (591) UsableRulesProof [EQUIVALENT, 0 ms] (592) QDP (593) InductionCalculusProof [EQUIVALENT, 0 ms] (594) QDP (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) TransformationProof [EQUIVALENT, 0 ms] (613) QDP (614) TransformationProof [EQUIVALENT, 0 ms] (615) QDP (616) TransformationProof [EQUIVALENT, 0 ms] (617) QDP (618) DependencyGraphProof [EQUIVALENT, 0 ms] (619) QDP (620) TransformationProof [EQUIVALENT, 0 ms] (621) QDP (622) DependencyGraphProof [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) TransformationProof [EQUIVALENT, 0 ms] (631) QDP (632) TransformationProof [EQUIVALENT, 0 ms] (633) QDP (634) TransformationProof [EQUIVALENT, 0 ms] (635) QDP (636) DependencyGraphProof [EQUIVALENT, 0 ms] (637) AND (638) QDP (639) UsableRulesProof [EQUIVALENT, 0 ms] (640) QDP (641) TransformationProof [EQUIVALENT, 0 ms] (642) QDP (643) TransformationProof [EQUIVALENT, 0 ms] (644) QDP (645) TransformationProof [EQUIVALENT, 0 ms] (646) QDP (647) TransformationProof [EQUIVALENT, 0 ms] (648) QDP (649) InductionCalculusProof [EQUIVALENT, 0 ms] (650) QDP (651) QDP (652) UsableRulesProof [EQUIVALENT, 0 ms] (653) QDP (654) InductionCalculusProof [EQUIVALENT, 0 ms] (655) QDP (656) QDP (657) InductionCalculusProof [EQUIVALENT, 0 ms] (658) QDP (659) QDP (660) DependencyGraphProof [EQUIVALENT, 0 ms] (661) AND (662) QDP (663) MRRProof [EQUIVALENT, 0 ms] (664) QDP (665) PisEmptyProof [EQUIVALENT, 0 ms] (666) YES (667) QDP (668) QDPSizeChangeProof [EQUIVALENT, 0 ms] (669) YES (670) QDP (671) MNOCProof [EQUIVALENT, 0 ms] (672) QDP (673) InductionCalculusProof [EQUIVALENT, 0 ms] (674) QDP (675) TransformationProof [EQUIVALENT, 0 ms] (676) QDP (677) TransformationProof [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) DependencyGraphProof [EQUIVALENT, 0 ms] (698) QDP (699) TransformationProof [EQUIVALENT, 0 ms] (700) QDP (701) TransformationProof [EQUIVALENT, 0 ms] (702) QDP (703) TransformationProof [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) DependencyGraphProof [EQUIVALENT, 0 ms] (712) QDP (713) TransformationProof [EQUIVALENT, 0 ms] (714) QDP (715) TransformationProof [EQUIVALENT, 0 ms] (716) QDP (717) TransformationProof [EQUIVALENT, 0 ms] (718) QDP (719) TransformationProof [EQUIVALENT, 0 ms] (720) QDP (721) DependencyGraphProof [EQUIVALENT, 0 ms] (722) QDP (723) TransformationProof [EQUIVALENT, 0 ms] (724) QDP (725) DependencyGraphProof [EQUIVALENT, 0 ms] (726) QDP (727) TransformationProof [EQUIVALENT, 0 ms] (728) QDP (729) TransformationProof [EQUIVALENT, 0 ms] (730) QDP (731) TransformationProof [EQUIVALENT, 0 ms] (732) QDP (733) TransformationProof [EQUIVALENT, 0 ms] (734) QDP (735) DependencyGraphProof [EQUIVALENT, 0 ms] (736) QDP (737) TransformationProof [EQUIVALENT, 0 ms] (738) QDP (739) DependencyGraphProof [EQUIVALENT, 0 ms] (740) QDP (741) TransformationProof [EQUIVALENT, 0 ms] (742) QDP (743) TransformationProof [EQUIVALENT, 0 ms] (744) QDP (745) TransformationProof [EQUIVALENT, 0 ms] (746) QDP (747) TransformationProof [EQUIVALENT, 0 ms] (748) QDP (749) DependencyGraphProof [EQUIVALENT, 0 ms] (750) QDP (751) TransformationProof [EQUIVALENT, 0 ms] (752) QDP (753) 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) TransformationProof [EQUIVALENT, 0 ms] (766) QDP (767) TransformationProof [EQUIVALENT, 0 ms] (768) QDP (769) DependencyGraphProof [EQUIVALENT, 0 ms] (770) QDP (771) TransformationProof [EQUIVALENT, 0 ms] (772) QDP (773) TransformationProof [EQUIVALENT, 0 ms] (774) QDP (775) TransformationProof [EQUIVALENT, 0 ms] (776) QDP (777) TransformationProof [EQUIVALENT, 0 ms] (778) QDP (779) DependencyGraphProof [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) TransformationProof [EQUIVALENT, 0 ms] (796) QDP (797) TransformationProof [EQUIVALENT, 0 ms] (798) QDP (799) DependencyGraphProof [EQUIVALENT, 0 ms] (800) QDP (801) TransformationProof [EQUIVALENT, 0 ms] (802) QDP (803) TransformationProof [EQUIVALENT, 0 ms] (804) QDP (805) TransformationProof [EQUIVALENT, 0 ms] (806) QDP (807) TransformationProof [EQUIVALENT, 0 ms] (808) QDP (809) DependencyGraphProof [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) TransformationProof [EQUIVALENT, 0 ms] (826) QDP (827) TransformationProof [EQUIVALENT, 0 ms] (828) QDP (829) DependencyGraphProof [EQUIVALENT, 0 ms] (830) QDP (831) TransformationProof [EQUIVALENT, 0 ms] (832) QDP (833) TransformationProof [EQUIVALENT, 0 ms] (834) QDP (835) TransformationProof [EQUIVALENT, 0 ms] (836) QDP (837) TransformationProof [EQUIVALENT, 0 ms] (838) QDP (839) DependencyGraphProof [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) TransformationProof [EQUIVALENT, 0 ms] (856) QDP (857) TransformationProof [EQUIVALENT, 0 ms] (858) QDP (859) DependencyGraphProof [EQUIVALENT, 0 ms] (860) QDP (861) TransformationProof [EQUIVALENT, 0 ms] (862) QDP (863) TransformationProof [EQUIVALENT, 0 ms] (864) QDP (865) TransformationProof [EQUIVALENT, 0 ms] (866) QDP (867) TransformationProof [EQUIVALENT, 0 ms] (868) QDP (869) DependencyGraphProof [EQUIVALENT, 0 ms] (870) QDP (871) QDPOrderProof [EQUIVALENT, 33 ms] (872) QDP (873) MNOCProof [EQUIVALENT, 0 ms] (874) QDP (875) InductionCalculusProof [EQUIVALENT, 0 ms] (876) QDP (877) QDP (878) QDPSizeChangeProof [EQUIVALENT, 0 ms] (879) YES (880) QDP (881) QDPSizeChangeProof [EQUIVALENT, 0 ms] (882) YES (883) QDP (884) QDPSizeChangeProof [EQUIVALENT, 0 ms] (885) YES (886) QDP (887) QDPSizeChangeProof [EQUIVALENT, 0 ms] (888) YES (889) Narrow [COMPLETE, 0 ms] (890) AND (891) QDP (892) QDPSizeChangeProof [EQUIVALENT, 0 ms] (893) YES (894) QDP (895) PisEmptyProof [EQUIVALENT, 0 ms] (896) YES (897) QDP (898) QDPSizeChangeProof [EQUIVALENT, 0 ms] (899) 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 "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 "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; } ; " The following Function with conditions "absReal x|x >= 0x|otherwise`negate` x; " is transformed to "absReal x = absReal2 x; " "absReal1 x True = x; absReal1 x False = absReal0 x otherwise; " "absReal0 x True = `negate` x; " "absReal2 x = absReal1 x (x >= 0); " The following Function with conditions "undefined |Falseundefined; " is transformed to "undefined = undefined1; " "undefined0 True = undefined; " "undefined1 = undefined0 False; " ---------------------------------------- (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'2 x xz = gcd0Gcd'1 (xz == 0) x xz; gcd0Gcd'2 yx yy = gcd0Gcd'0 yx yy; " "gcd0Gcd'0 x y = gcd0Gcd' y (x `rem` y); " "gcd0Gcd' x xz = gcd0Gcd'2 x xz; gcd0Gcd' x y = gcd0Gcd'0 x y; " "gcd0Gcd'1 True x xz = x; gcd0Gcd'1 yu yv yw = gcd0Gcd'0 yv yw; " 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; " "reduce2Reduce1 vux vuy x y True = error []; reduce2Reduce1 vux vuy x y False = reduce2Reduce0 vux vuy x y otherwise; " "reduce2Reduce0 vux vuy x y True = x `quot` reduce2D vux vuy :% (y `quot` reduce2D vux vuy); " ---------------------------------------- (8) Obligation: mainModule Main module Main where { import qualified Prelude; } ---------------------------------------- (9) NumRed (SOUND) Num Reduction:All numbers are transformed to their corresponding representation with Succ, Pred and Zero. ---------------------------------------- (10) Obligation: mainModule Main module Main where { import qualified Prelude; } ---------------------------------------- (11) Narrow (SOUND) Haskell To QDPs digraph dp_graph { node [outthreshold=100, inthreshold=100];1[label="subtract",fontsize=16,color="grey",shape="box"];1 -> 3[label="",style="dashed", color="grey", weight=3]; 3[label="subtract vuz3",fontsize=16,color="grey",shape="box"];3 -> 4[label="",style="dashed", color="grey", weight=3]; 4[label="subtract vuz3 vuz4",fontsize=16,color="black",shape="triangle"];4 -> 5[label="",style="solid", color="black", weight=3]; 5[label="flip (-) vuz3 vuz4",fontsize=16,color="black",shape="box"];5 -> 6[label="",style="solid", color="black", weight=3]; 6[label="(-) vuz4 vuz3",fontsize=16,color="blue",shape="box"];1411[label="- :: Double -> Double -> Double",fontsize=10,color="white",style="solid",shape="box"];6 -> 1411[label="",style="solid", color="blue", weight=9]; 1411 -> 7[label="",style="solid", color="blue", weight=3]; 1412[label="- :: (Ratio a) -> (Ratio a) -> Ratio a",fontsize=10,color="white",style="solid",shape="box"];6 -> 1412[label="",style="solid", color="blue", weight=9]; 1412 -> 8[label="",style="solid", color="blue", weight=3]; 1413[label="- :: Integer -> Integer -> Integer",fontsize=10,color="white",style="solid",shape="box"];6 -> 1413[label="",style="solid", color="blue", weight=9]; 1413 -> 9[label="",style="solid", color="blue", weight=3]; 1414[label="- :: Float -> Float -> Float",fontsize=10,color="white",style="solid",shape="box"];6 -> 1414[label="",style="solid", color="blue", weight=9]; 1414 -> 10[label="",style="solid", color="blue", weight=3]; 1415[label="- :: Int -> Int -> Int",fontsize=10,color="white",style="solid",shape="box"];6 -> 1415[label="",style="solid", color="blue", weight=9]; 1415 -> 11[label="",style="solid", color="blue", weight=3]; 7[label="(-) vuz4 vuz3",fontsize=16,color="black",shape="box"];7 -> 12[label="",style="solid", color="black", weight=3]; 8[label="(-) vuz4 vuz3",fontsize=16,color="black",shape="box"];8 -> 13[label="",style="solid", color="black", weight=3]; 9[label="(-) vuz4 vuz3",fontsize=16,color="burlywood",shape="box"];1416[label="vuz4/Integer vuz40",fontsize=10,color="white",style="solid",shape="box"];9 -> 1416[label="",style="solid", color="burlywood", weight=9]; 1416 -> 14[label="",style="solid", color="burlywood", weight=3]; 10[label="(-) vuz4 vuz3",fontsize=16,color="black",shape="box"];10 -> 15[label="",style="solid", color="black", weight=3]; 11[label="(-) vuz4 vuz3",fontsize=16,color="black",shape="triangle"];11 -> 16[label="",style="solid", color="black", weight=3]; 12[label="primMinusDouble vuz4 vuz3",fontsize=16,color="burlywood",shape="box"];1417[label="vuz4/Double vuz40 vuz41",fontsize=10,color="white",style="solid",shape="box"];12 -> 1417[label="",style="solid", color="burlywood", weight=9]; 1417 -> 17[label="",style="solid", color="burlywood", weight=3]; 13[label="vuz4 + (negate vuz3)",fontsize=16,color="burlywood",shape="box"];1418[label="vuz4/vuz40 :% vuz41",fontsize=10,color="white",style="solid",shape="box"];13 -> 1418[label="",style="solid", color="burlywood", weight=9]; 1418 -> 18[label="",style="solid", color="burlywood", weight=3]; 14[label="(-) Integer vuz40 vuz3",fontsize=16,color="burlywood",shape="box"];1419[label="vuz3/Integer vuz30",fontsize=10,color="white",style="solid",shape="box"];14 -> 1419[label="",style="solid", color="burlywood", weight=9]; 1419 -> 19[label="",style="solid", color="burlywood", weight=3]; 15[label="primMinusFloat vuz4 vuz3",fontsize=16,color="burlywood",shape="box"];1420[label="vuz4/Float vuz40 vuz41",fontsize=10,color="white",style="solid",shape="box"];15 -> 1420[label="",style="solid", color="burlywood", weight=9]; 1420 -> 20[label="",style="solid", color="burlywood", weight=3]; 16[label="primMinusInt vuz4 vuz3",fontsize=16,color="burlywood",shape="triangle"];1421[label="vuz4/Pos vuz40",fontsize=10,color="white",style="solid",shape="box"];16 -> 1421[label="",style="solid", color="burlywood", weight=9]; 1421 -> 21[label="",style="solid", color="burlywood", weight=3]; 1422[label="vuz4/Neg vuz40",fontsize=10,color="white",style="solid",shape="box"];16 -> 1422[label="",style="solid", color="burlywood", weight=9]; 1422 -> 22[label="",style="solid", color="burlywood", weight=3]; 17[label="primMinusDouble (Double vuz40 vuz41) vuz3",fontsize=16,color="burlywood",shape="box"];1423[label="vuz3/Double vuz30 vuz31",fontsize=10,color="white",style="solid",shape="box"];17 -> 1423[label="",style="solid", color="burlywood", weight=9]; 1423 -> 23[label="",style="solid", color="burlywood", weight=3]; 18[label="vuz40 :% vuz41 + (negate vuz3)",fontsize=16,color="burlywood",shape="box"];1424[label="vuz3/vuz30 :% vuz31",fontsize=10,color="white",style="solid",shape="box"];18 -> 1424[label="",style="solid", color="burlywood", weight=9]; 1424 -> 24[label="",style="solid", color="burlywood", weight=3]; 19[label="(-) Integer vuz40 Integer vuz30",fontsize=16,color="black",shape="box"];19 -> 25[label="",style="solid", color="black", weight=3]; 20[label="primMinusFloat (Float vuz40 vuz41) vuz3",fontsize=16,color="burlywood",shape="box"];1425[label="vuz3/Float vuz30 vuz31",fontsize=10,color="white",style="solid",shape="box"];20 -> 1425[label="",style="solid", color="burlywood", weight=9]; 1425 -> 26[label="",style="solid", color="burlywood", weight=3]; 21[label="primMinusInt (Pos vuz40) vuz3",fontsize=16,color="burlywood",shape="box"];1426[label="vuz3/Pos vuz30",fontsize=10,color="white",style="solid",shape="box"];21 -> 1426[label="",style="solid", color="burlywood", weight=9]; 1426 -> 27[label="",style="solid", color="burlywood", weight=3]; 1427[label="vuz3/Neg vuz30",fontsize=10,color="white",style="solid",shape="box"];21 -> 1427[label="",style="solid", color="burlywood", weight=9]; 1427 -> 28[label="",style="solid", color="burlywood", weight=3]; 22[label="primMinusInt (Neg vuz40) vuz3",fontsize=16,color="burlywood",shape="box"];1428[label="vuz3/Pos vuz30",fontsize=10,color="white",style="solid",shape="box"];22 -> 1428[label="",style="solid", color="burlywood", weight=9]; 1428 -> 29[label="",style="solid", color="burlywood", weight=3]; 1429[label="vuz3/Neg vuz30",fontsize=10,color="white",style="solid",shape="box"];22 -> 1429[label="",style="solid", color="burlywood", weight=9]; 1429 -> 30[label="",style="solid", color="burlywood", weight=3]; 23[label="primMinusDouble (Double vuz40 vuz41) (Double vuz30 vuz31)",fontsize=16,color="black",shape="box"];23 -> 31[label="",style="solid", color="black", weight=3]; 24[label="vuz40 :% vuz41 + (negate vuz30 :% vuz31)",fontsize=16,color="black",shape="box"];24 -> 32[label="",style="solid", color="black", weight=3]; 25[label="Integer (primMinusInt vuz40 vuz30)",fontsize=16,color="green",shape="box"];25 -> 33[label="",style="dashed", color="green", weight=3]; 26[label="primMinusFloat (Float vuz40 vuz41) (Float vuz30 vuz31)",fontsize=16,color="black",shape="box"];26 -> 34[label="",style="solid", color="black", weight=3]; 27[label="primMinusInt (Pos vuz40) (Pos vuz30)",fontsize=16,color="black",shape="box"];27 -> 35[label="",style="solid", color="black", weight=3]; 28[label="primMinusInt (Pos vuz40) (Neg vuz30)",fontsize=16,color="black",shape="box"];28 -> 36[label="",style="solid", color="black", weight=3]; 29[label="primMinusInt (Neg vuz40) (Pos vuz30)",fontsize=16,color="black",shape="box"];29 -> 37[label="",style="solid", color="black", weight=3]; 30[label="primMinusInt (Neg vuz40) (Neg vuz30)",fontsize=16,color="black",shape="box"];30 -> 38[label="",style="solid", color="black", weight=3]; 31[label="Double (vuz40 * vuz31 - vuz30 * vuz41) (vuz41 * vuz31)",fontsize=16,color="green",shape="box"];31 -> 39[label="",style="dashed", color="green", weight=3]; 31 -> 40[label="",style="dashed", color="green", weight=3]; 32 -> 41[label="",style="dashed", color="red", weight=0]; 32[label="vuz40 :% vuz41 + (negate vuz30) :% vuz31",fontsize=16,color="magenta"];32 -> 42[label="",style="dashed", color="magenta", weight=3]; 32 -> 43[label="",style="dashed", color="magenta", weight=3]; 32 -> 44[label="",style="dashed", color="magenta", weight=3]; 32 -> 45[label="",style="dashed", color="magenta", weight=3]; 33 -> 16[label="",style="dashed", color="red", weight=0]; 33[label="primMinusInt vuz40 vuz30",fontsize=16,color="magenta"];33 -> 46[label="",style="dashed", color="magenta", weight=3]; 33 -> 47[label="",style="dashed", color="magenta", weight=3]; 34[label="Float (vuz40 * vuz31 - vuz30 * vuz41) (vuz41 * vuz31)",fontsize=16,color="green",shape="box"];34 -> 48[label="",style="dashed", color="green", weight=3]; 34 -> 49[label="",style="dashed", color="green", weight=3]; 35[label="primMinusNat vuz40 vuz30",fontsize=16,color="burlywood",shape="triangle"];1430[label="vuz40/Succ vuz400",fontsize=10,color="white",style="solid",shape="box"];35 -> 1430[label="",style="solid", color="burlywood", weight=9]; 1430 -> 50[label="",style="solid", color="burlywood", weight=3]; 1431[label="vuz40/Zero",fontsize=10,color="white",style="solid",shape="box"];35 -> 1431[label="",style="solid", color="burlywood", weight=9]; 1431 -> 51[label="",style="solid", color="burlywood", weight=3]; 36[label="Pos (primPlusNat vuz40 vuz30)",fontsize=16,color="green",shape="box"];36 -> 52[label="",style="dashed", color="green", weight=3]; 37[label="Neg (primPlusNat vuz40 vuz30)",fontsize=16,color="green",shape="box"];37 -> 53[label="",style="dashed", color="green", weight=3]; 38 -> 35[label="",style="dashed", color="red", weight=0]; 38[label="primMinusNat vuz30 vuz40",fontsize=16,color="magenta"];38 -> 54[label="",style="dashed", color="magenta", weight=3]; 38 -> 55[label="",style="dashed", color="magenta", weight=3]; 39 -> 11[label="",style="dashed", color="red", weight=0]; 39[label="vuz40 * vuz31 - vuz30 * vuz41",fontsize=16,color="magenta"];39 -> 56[label="",style="dashed", color="magenta", weight=3]; 39 -> 57[label="",style="dashed", color="magenta", weight=3]; 40[label="vuz41 * vuz31",fontsize=16,color="black",shape="triangle"];40 -> 58[label="",style="solid", color="black", weight=3]; 42[label="vuz41",fontsize=16,color="green",shape="box"];43[label="vuz40",fontsize=16,color="green",shape="box"];44[label="negate vuz30",fontsize=16,color="blue",shape="box"];1432[label="negate :: Integer -> Integer",fontsize=10,color="white",style="solid",shape="box"];44 -> 1432[label="",style="solid", color="blue", weight=9]; 1432 -> 59[label="",style="solid", color="blue", weight=3]; 1433[label="negate :: Int -> Int",fontsize=10,color="white",style="solid",shape="box"];44 -> 1433[label="",style="solid", color="blue", weight=9]; 1433 -> 60[label="",style="solid", color="blue", weight=3]; 45[label="vuz31",fontsize=16,color="green",shape="box"];41[label="vuz10 :% vuz11 + vuz12 :% vuz13",fontsize=16,color="black",shape="triangle"];41 -> 61[label="",style="solid", color="black", weight=3]; 46[label="vuz30",fontsize=16,color="green",shape="box"];47[label="vuz40",fontsize=16,color="green",shape="box"];48 -> 11[label="",style="dashed", color="red", weight=0]; 48[label="vuz40 * vuz31 - vuz30 * vuz41",fontsize=16,color="magenta"];48 -> 62[label="",style="dashed", color="magenta", weight=3]; 48 -> 63[label="",style="dashed", color="magenta", weight=3]; 49 -> 40[label="",style="dashed", color="red", weight=0]; 49[label="vuz41 * vuz31",fontsize=16,color="magenta"];49 -> 64[label="",style="dashed", color="magenta", weight=3]; 49 -> 65[label="",style="dashed", color="magenta", weight=3]; 50[label="primMinusNat (Succ vuz400) vuz30",fontsize=16,color="burlywood",shape="box"];1434[label="vuz30/Succ vuz300",fontsize=10,color="white",style="solid",shape="box"];50 -> 1434[label="",style="solid", color="burlywood", weight=9]; 1434 -> 66[label="",style="solid", color="burlywood", weight=3]; 1435[label="vuz30/Zero",fontsize=10,color="white",style="solid",shape="box"];50 -> 1435[label="",style="solid", color="burlywood", weight=9]; 1435 -> 67[label="",style="solid", color="burlywood", weight=3]; 51[label="primMinusNat Zero vuz30",fontsize=16,color="burlywood",shape="box"];1436[label="vuz30/Succ vuz300",fontsize=10,color="white",style="solid",shape="box"];51 -> 1436[label="",style="solid", color="burlywood", weight=9]; 1436 -> 68[label="",style="solid", color="burlywood", weight=3]; 1437[label="vuz30/Zero",fontsize=10,color="white",style="solid",shape="box"];51 -> 1437[label="",style="solid", color="burlywood", weight=9]; 1437 -> 69[label="",style="solid", color="burlywood", weight=3]; 52[label="primPlusNat vuz40 vuz30",fontsize=16,color="burlywood",shape="triangle"];1438[label="vuz40/Succ vuz400",fontsize=10,color="white",style="solid",shape="box"];52 -> 1438[label="",style="solid", color="burlywood", weight=9]; 1438 -> 70[label="",style="solid", color="burlywood", weight=3]; 1439[label="vuz40/Zero",fontsize=10,color="white",style="solid",shape="box"];52 -> 1439[label="",style="solid", color="burlywood", weight=9]; 1439 -> 71[label="",style="solid", color="burlywood", weight=3]; 53 -> 52[label="",style="dashed", color="red", weight=0]; 53[label="primPlusNat vuz40 vuz30",fontsize=16,color="magenta"];53 -> 72[label="",style="dashed", color="magenta", weight=3]; 53 -> 73[label="",style="dashed", color="magenta", weight=3]; 54[label="vuz40",fontsize=16,color="green",shape="box"];55[label="vuz30",fontsize=16,color="green",shape="box"];56 -> 40[label="",style="dashed", color="red", weight=0]; 56[label="vuz30 * vuz41",fontsize=16,color="magenta"];56 -> 74[label="",style="dashed", color="magenta", weight=3]; 56 -> 75[label="",style="dashed", color="magenta", weight=3]; 57 -> 40[label="",style="dashed", color="red", weight=0]; 57[label="vuz40 * vuz31",fontsize=16,color="magenta"];57 -> 76[label="",style="dashed", color="magenta", weight=3]; 58[label="primMulInt vuz41 vuz31",fontsize=16,color="burlywood",shape="triangle"];1440[label="vuz41/Pos vuz410",fontsize=10,color="white",style="solid",shape="box"];58 -> 1440[label="",style="solid", color="burlywood", weight=9]; 1440 -> 77[label="",style="solid", color="burlywood", weight=3]; 1441[label="vuz41/Neg vuz410",fontsize=10,color="white",style="solid",shape="box"];58 -> 1441[label="",style="solid", color="burlywood", weight=9]; 1441 -> 78[label="",style="solid", color="burlywood", weight=3]; 59[label="negate vuz30",fontsize=16,color="burlywood",shape="triangle"];1442[label="vuz30/Integer vuz300",fontsize=10,color="white",style="solid",shape="box"];59 -> 1442[label="",style="solid", color="burlywood", weight=9]; 1442 -> 79[label="",style="solid", color="burlywood", weight=3]; 60[label="negate vuz30",fontsize=16,color="black",shape="triangle"];60 -> 80[label="",style="solid", color="black", weight=3]; 61[label="reduce (vuz10 * vuz13 + vuz12 * vuz11) (vuz11 * vuz13)",fontsize=16,color="black",shape="box"];61 -> 81[label="",style="solid", color="black", weight=3]; 62 -> 40[label="",style="dashed", color="red", weight=0]; 62[label="vuz30 * vuz41",fontsize=16,color="magenta"];62 -> 82[label="",style="dashed", color="magenta", weight=3]; 62 -> 83[label="",style="dashed", color="magenta", weight=3]; 63 -> 40[label="",style="dashed", color="red", weight=0]; 63[label="vuz40 * vuz31",fontsize=16,color="magenta"];63 -> 84[label="",style="dashed", color="magenta", weight=3]; 63 -> 85[label="",style="dashed", color="magenta", weight=3]; 64[label="vuz31",fontsize=16,color="green",shape="box"];65[label="vuz41",fontsize=16,color="green",shape="box"];66[label="primMinusNat (Succ vuz400) (Succ vuz300)",fontsize=16,color="black",shape="box"];66 -> 86[label="",style="solid", color="black", weight=3]; 67[label="primMinusNat (Succ vuz400) Zero",fontsize=16,color="black",shape="box"];67 -> 87[label="",style="solid", color="black", weight=3]; 68[label="primMinusNat Zero (Succ vuz300)",fontsize=16,color="black",shape="box"];68 -> 88[label="",style="solid", color="black", weight=3]; 69[label="primMinusNat Zero Zero",fontsize=16,color="black",shape="box"];69 -> 89[label="",style="solid", color="black", weight=3]; 70[label="primPlusNat (Succ vuz400) vuz30",fontsize=16,color="burlywood",shape="box"];1443[label="vuz30/Succ vuz300",fontsize=10,color="white",style="solid",shape="box"];70 -> 1443[label="",style="solid", color="burlywood", weight=9]; 1443 -> 90[label="",style="solid", color="burlywood", weight=3]; 1444[label="vuz30/Zero",fontsize=10,color="white",style="solid",shape="box"];70 -> 1444[label="",style="solid", color="burlywood", weight=9]; 1444 -> 91[label="",style="solid", color="burlywood", weight=3]; 71[label="primPlusNat Zero vuz30",fontsize=16,color="burlywood",shape="box"];1445[label="vuz30/Succ vuz300",fontsize=10,color="white",style="solid",shape="box"];71 -> 1445[label="",style="solid", color="burlywood", weight=9]; 1445 -> 92[label="",style="solid", color="burlywood", weight=3]; 1446[label="vuz30/Zero",fontsize=10,color="white",style="solid",shape="box"];71 -> 1446[label="",style="solid", color="burlywood", weight=9]; 1446 -> 93[label="",style="solid", color="burlywood", weight=3]; 72[label="vuz30",fontsize=16,color="green",shape="box"];73[label="vuz40",fontsize=16,color="green",shape="box"];74[label="vuz41",fontsize=16,color="green",shape="box"];75[label="vuz30",fontsize=16,color="green",shape="box"];76[label="vuz40",fontsize=16,color="green",shape="box"];77[label="primMulInt (Pos vuz410) vuz31",fontsize=16,color="burlywood",shape="box"];1447[label="vuz31/Pos vuz310",fontsize=10,color="white",style="solid",shape="box"];77 -> 1447[label="",style="solid", color="burlywood", weight=9]; 1447 -> 94[label="",style="solid", color="burlywood", weight=3]; 1448[label="vuz31/Neg vuz310",fontsize=10,color="white",style="solid",shape="box"];77 -> 1448[label="",style="solid", color="burlywood", weight=9]; 1448 -> 95[label="",style="solid", color="burlywood", weight=3]; 78[label="primMulInt (Neg vuz410) vuz31",fontsize=16,color="burlywood",shape="box"];1449[label="vuz31/Pos vuz310",fontsize=10,color="white",style="solid",shape="box"];78 -> 1449[label="",style="solid", color="burlywood", weight=9]; 1449 -> 96[label="",style="solid", color="burlywood", weight=3]; 1450[label="vuz31/Neg vuz310",fontsize=10,color="white",style="solid",shape="box"];78 -> 1450[label="",style="solid", color="burlywood", weight=9]; 1450 -> 97[label="",style="solid", color="burlywood", weight=3]; 79[label="negate Integer vuz300",fontsize=16,color="black",shape="box"];79 -> 98[label="",style="solid", color="black", weight=3]; 80[label="primNegInt vuz30",fontsize=16,color="burlywood",shape="triangle"];1451[label="vuz30/Pos vuz300",fontsize=10,color="white",style="solid",shape="box"];80 -> 1451[label="",style="solid", color="burlywood", weight=9]; 1451 -> 99[label="",style="solid", color="burlywood", weight=3]; 1452[label="vuz30/Neg vuz300",fontsize=10,color="white",style="solid",shape="box"];80 -> 1452[label="",style="solid", color="burlywood", weight=9]; 1452 -> 100[label="",style="solid", color="burlywood", weight=3]; 81[label="reduce2 (vuz10 * vuz13 + vuz12 * vuz11) (vuz11 * vuz13)",fontsize=16,color="black",shape="box"];81 -> 101[label="",style="solid", color="black", weight=3]; 82[label="vuz41",fontsize=16,color="green",shape="box"];83[label="vuz30",fontsize=16,color="green",shape="box"];84[label="vuz31",fontsize=16,color="green",shape="box"];85[label="vuz40",fontsize=16,color="green",shape="box"];86 -> 35[label="",style="dashed", color="red", weight=0]; 86[label="primMinusNat vuz400 vuz300",fontsize=16,color="magenta"];86 -> 102[label="",style="dashed", color="magenta", weight=3]; 86 -> 103[label="",style="dashed", color="magenta", weight=3]; 87[label="Pos (Succ vuz400)",fontsize=16,color="green",shape="box"];88[label="Neg (Succ vuz300)",fontsize=16,color="green",shape="box"];89[label="Pos Zero",fontsize=16,color="green",shape="box"];90[label="primPlusNat (Succ vuz400) (Succ vuz300)",fontsize=16,color="black",shape="box"];90 -> 104[label="",style="solid", color="black", weight=3]; 91[label="primPlusNat (Succ vuz400) Zero",fontsize=16,color="black",shape="box"];91 -> 105[label="",style="solid", color="black", weight=3]; 92[label="primPlusNat Zero (Succ vuz300)",fontsize=16,color="black",shape="box"];92 -> 106[label="",style="solid", color="black", weight=3]; 93[label="primPlusNat Zero Zero",fontsize=16,color="black",shape="box"];93 -> 107[label="",style="solid", color="black", weight=3]; 94[label="primMulInt (Pos vuz410) (Pos vuz310)",fontsize=16,color="black",shape="box"];94 -> 108[label="",style="solid", color="black", weight=3]; 95[label="primMulInt (Pos vuz410) (Neg vuz310)",fontsize=16,color="black",shape="box"];95 -> 109[label="",style="solid", color="black", weight=3]; 96[label="primMulInt (Neg vuz410) (Pos vuz310)",fontsize=16,color="black",shape="box"];96 -> 110[label="",style="solid", color="black", weight=3]; 97[label="primMulInt (Neg vuz410) (Neg vuz310)",fontsize=16,color="black",shape="box"];97 -> 111[label="",style="solid", color="black", weight=3]; 98[label="Integer (primNegInt vuz300)",fontsize=16,color="green",shape="box"];98 -> 112[label="",style="dashed", color="green", weight=3]; 99[label="primNegInt (Pos vuz300)",fontsize=16,color="black",shape="box"];99 -> 113[label="",style="solid", color="black", weight=3]; 100[label="primNegInt (Neg vuz300)",fontsize=16,color="black",shape="box"];100 -> 114[label="",style="solid", color="black", weight=3]; 101 -> 115[label="",style="dashed", color="red", weight=0]; 101[label="reduce2Reduce1 (vuz10 * vuz13 + vuz12 * vuz11) (vuz11 * vuz13) (vuz10 * vuz13 + vuz12 * vuz11) (vuz11 * vuz13) (vuz11 * vuz13 == fromInt (Pos Zero))",fontsize=16,color="magenta"];101 -> 116[label="",style="dashed", color="magenta", weight=3]; 101 -> 117[label="",style="dashed", color="magenta", weight=3]; 101 -> 118[label="",style="dashed", color="magenta", weight=3]; 101 -> 119[label="",style="dashed", color="magenta", weight=3]; 101 -> 120[label="",style="dashed", color="magenta", weight=3]; 102[label="vuz300",fontsize=16,color="green",shape="box"];103[label="vuz400",fontsize=16,color="green",shape="box"];104[label="Succ (Succ (primPlusNat vuz400 vuz300))",fontsize=16,color="green",shape="box"];104 -> 121[label="",style="dashed", color="green", weight=3]; 105[label="Succ vuz400",fontsize=16,color="green",shape="box"];106[label="Succ vuz300",fontsize=16,color="green",shape="box"];107[label="Zero",fontsize=16,color="green",shape="box"];108[label="Pos (primMulNat vuz410 vuz310)",fontsize=16,color="green",shape="box"];108 -> 122[label="",style="dashed", color="green", weight=3]; 109[label="Neg (primMulNat vuz410 vuz310)",fontsize=16,color="green",shape="box"];109 -> 123[label="",style="dashed", color="green", weight=3]; 110[label="Neg (primMulNat vuz410 vuz310)",fontsize=16,color="green",shape="box"];110 -> 124[label="",style="dashed", color="green", weight=3]; 111[label="Pos (primMulNat vuz410 vuz310)",fontsize=16,color="green",shape="box"];111 -> 125[label="",style="dashed", color="green", weight=3]; 112 -> 80[label="",style="dashed", color="red", weight=0]; 112[label="primNegInt vuz300",fontsize=16,color="magenta"];112 -> 126[label="",style="dashed", color="magenta", weight=3]; 113[label="Neg vuz300",fontsize=16,color="green",shape="box"];114[label="Pos vuz300",fontsize=16,color="green",shape="box"];116[label="vuz12",fontsize=16,color="green",shape="box"];117[label="vuz11 * vuz13 == fromInt (Pos Zero)",fontsize=16,color="blue",shape="box"];1453[label="== :: Int -> Int -> Bool",fontsize=10,color="white",style="solid",shape="box"];117 -> 1453[label="",style="solid", color="blue", weight=9]; 1453 -> 127[label="",style="solid", color="blue", weight=3]; 1454[label="== :: Integer -> Integer -> Bool",fontsize=10,color="white",style="solid",shape="box"];117 -> 1454[label="",style="solid", color="blue", weight=9]; 1454 -> 128[label="",style="solid", color="blue", weight=3]; 118[label="vuz13",fontsize=16,color="green",shape="box"];119[label="vuz10",fontsize=16,color="green",shape="box"];120[label="vuz11",fontsize=16,color="green",shape="box"];115[label="reduce2Reduce1 (vuz20 * vuz21 + vuz22 * vuz23) (vuz23 * vuz21) (vuz20 * vuz21 + vuz22 * vuz23) (vuz23 * vuz21) vuz24",fontsize=16,color="burlywood",shape="triangle"];1455[label="vuz24/False",fontsize=10,color="white",style="solid",shape="box"];115 -> 1455[label="",style="solid", color="burlywood", weight=9]; 1455 -> 129[label="",style="solid", color="burlywood", weight=3]; 1456[label="vuz24/True",fontsize=10,color="white",style="solid",shape="box"];115 -> 1456[label="",style="solid", color="burlywood", weight=9]; 1456 -> 130[label="",style="solid", color="burlywood", weight=3]; 121 -> 52[label="",style="dashed", color="red", weight=0]; 121[label="primPlusNat vuz400 vuz300",fontsize=16,color="magenta"];121 -> 131[label="",style="dashed", color="magenta", weight=3]; 121 -> 132[label="",style="dashed", color="magenta", weight=3]; 122[label="primMulNat vuz410 vuz310",fontsize=16,color="burlywood",shape="triangle"];1457[label="vuz410/Succ vuz4100",fontsize=10,color="white",style="solid",shape="box"];122 -> 1457[label="",style="solid", color="burlywood", weight=9]; 1457 -> 133[label="",style="solid", color="burlywood", weight=3]; 1458[label="vuz410/Zero",fontsize=10,color="white",style="solid",shape="box"];122 -> 1458[label="",style="solid", color="burlywood", weight=9]; 1458 -> 134[label="",style="solid", color="burlywood", weight=3]; 123 -> 122[label="",style="dashed", color="red", weight=0]; 123[label="primMulNat vuz410 vuz310",fontsize=16,color="magenta"];123 -> 135[label="",style="dashed", color="magenta", weight=3]; 124 -> 122[label="",style="dashed", color="red", weight=0]; 124[label="primMulNat vuz410 vuz310",fontsize=16,color="magenta"];124 -> 136[label="",style="dashed", color="magenta", weight=3]; 125 -> 122[label="",style="dashed", color="red", weight=0]; 125[label="primMulNat vuz410 vuz310",fontsize=16,color="magenta"];125 -> 137[label="",style="dashed", color="magenta", weight=3]; 125 -> 138[label="",style="dashed", color="magenta", weight=3]; 126[label="vuz300",fontsize=16,color="green",shape="box"];127 -> 139[label="",style="dashed", color="red", weight=0]; 127[label="vuz11 * vuz13 == fromInt (Pos Zero)",fontsize=16,color="magenta"];127 -> 140[label="",style="dashed", color="magenta", weight=3]; 128 -> 1060[label="",style="dashed", color="red", weight=0]; 128[label="vuz11 * vuz13 == fromInt (Pos Zero)",fontsize=16,color="magenta"];128 -> 1061[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 -> 142[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 -> 143[label="",style="solid", color="black", weight=3]; 131[label="vuz300",fontsize=16,color="green",shape="box"];132[label="vuz400",fontsize=16,color="green",shape="box"];133[label="primMulNat (Succ vuz4100) vuz310",fontsize=16,color="burlywood",shape="box"];1459[label="vuz310/Succ vuz3100",fontsize=10,color="white",style="solid",shape="box"];133 -> 1459[label="",style="solid", color="burlywood", weight=9]; 1459 -> 144[label="",style="solid", color="burlywood", weight=3]; 1460[label="vuz310/Zero",fontsize=10,color="white",style="solid",shape="box"];133 -> 1460[label="",style="solid", color="burlywood", weight=9]; 1460 -> 145[label="",style="solid", color="burlywood", weight=3]; 134[label="primMulNat Zero vuz310",fontsize=16,color="burlywood",shape="box"];1461[label="vuz310/Succ vuz3100",fontsize=10,color="white",style="solid",shape="box"];134 -> 1461[label="",style="solid", color="burlywood", weight=9]; 1461 -> 146[label="",style="solid", color="burlywood", weight=3]; 1462[label="vuz310/Zero",fontsize=10,color="white",style="solid",shape="box"];134 -> 1462[label="",style="solid", color="burlywood", weight=9]; 1462 -> 147[label="",style="solid", color="burlywood", weight=3]; 135[label="vuz310",fontsize=16,color="green",shape="box"];136[label="vuz410",fontsize=16,color="green",shape="box"];137[label="vuz310",fontsize=16,color="green",shape="box"];138[label="vuz410",fontsize=16,color="green",shape="box"];140 -> 40[label="",style="dashed", color="red", weight=0]; 140[label="vuz11 * vuz13",fontsize=16,color="magenta"];140 -> 148[label="",style="dashed", color="magenta", weight=3]; 140 -> 149[label="",style="dashed", color="magenta", weight=3]; 139[label="vuz25 == fromInt (Pos Zero)",fontsize=16,color="black",shape="triangle"];139 -> 150[label="",style="solid", color="black", weight=3]; 1061[label="vuz11 * vuz13",fontsize=16,color="burlywood",shape="triangle"];1463[label="vuz11/Integer vuz110",fontsize=10,color="white",style="solid",shape="box"];1061 -> 1463[label="",style="solid", color="burlywood", weight=9]; 1463 -> 1071[label="",style="solid", color="burlywood", weight=3]; 1060[label="vuz106 == fromInt (Pos Zero)",fontsize=16,color="burlywood",shape="triangle"];1464[label="vuz106/Integer vuz1060",fontsize=10,color="white",style="solid",shape="box"];1060 -> 1464[label="",style="solid", color="burlywood", weight=9]; 1464 -> 1072[label="",style="solid", color="burlywood", weight=3]; 142[label="reduce2Reduce0 (vuz20 * vuz21 + vuz22 * vuz23) (vuz23 * vuz21) (vuz20 * vuz21 + vuz22 * vuz23) (vuz23 * vuz21) otherwise",fontsize=16,color="black",shape="box"];142 -> 152[label="",style="solid", color="black", weight=3]; 143[label="error []",fontsize=16,color="black",shape="box"];143 -> 153[label="",style="solid", color="black", weight=3]; 144[label="primMulNat (Succ vuz4100) (Succ vuz3100)",fontsize=16,color="black",shape="box"];144 -> 154[label="",style="solid", color="black", weight=3]; 145[label="primMulNat (Succ vuz4100) Zero",fontsize=16,color="black",shape="box"];145 -> 155[label="",style="solid", color="black", weight=3]; 146[label="primMulNat Zero (Succ vuz3100)",fontsize=16,color="black",shape="box"];146 -> 156[label="",style="solid", color="black", weight=3]; 147[label="primMulNat Zero Zero",fontsize=16,color="black",shape="box"];147 -> 157[label="",style="solid", color="black", weight=3]; 148[label="vuz13",fontsize=16,color="green",shape="box"];149[label="vuz11",fontsize=16,color="green",shape="box"];150[label="primEqInt vuz25 (fromInt (Pos Zero))",fontsize=16,color="burlywood",shape="box"];1465[label="vuz25/Pos vuz250",fontsize=10,color="white",style="solid",shape="box"];150 -> 1465[label="",style="solid", color="burlywood", weight=9]; 1465 -> 158[label="",style="solid", color="burlywood", weight=3]; 1466[label="vuz25/Neg vuz250",fontsize=10,color="white",style="solid",shape="box"];150 -> 1466[label="",style="solid", color="burlywood", weight=9]; 1466 -> 159[label="",style="solid", color="burlywood", weight=3]; 1071[label="Integer vuz110 * vuz13",fontsize=16,color="burlywood",shape="box"];1467[label="vuz13/Integer vuz130",fontsize=10,color="white",style="solid",shape="box"];1071 -> 1467[label="",style="solid", color="burlywood", weight=9]; 1467 -> 1079[label="",style="solid", color="burlywood", weight=3]; 1072[label="Integer vuz1060 == fromInt (Pos Zero)",fontsize=16,color="black",shape="box"];1072 -> 1080[label="",style="solid", color="black", weight=3]; 152[label="reduce2Reduce0 (vuz20 * vuz21 + vuz22 * vuz23) (vuz23 * vuz21) (vuz20 * vuz21 + vuz22 * vuz23) (vuz23 * vuz21) True",fontsize=16,color="black",shape="box"];152 -> 161[label="",style="solid", color="black", weight=3]; 153[label="error []",fontsize=16,color="red",shape="box"];154 -> 52[label="",style="dashed", color="red", weight=0]; 154[label="primPlusNat (primMulNat vuz4100 (Succ vuz3100)) (Succ vuz3100)",fontsize=16,color="magenta"];154 -> 162[label="",style="dashed", color="magenta", weight=3]; 154 -> 163[label="",style="dashed", color="magenta", weight=3]; 155[label="Zero",fontsize=16,color="green",shape="box"];156[label="Zero",fontsize=16,color="green",shape="box"];157[label="Zero",fontsize=16,color="green",shape="box"];158[label="primEqInt (Pos vuz250) (fromInt (Pos Zero))",fontsize=16,color="burlywood",shape="box"];1468[label="vuz250/Succ vuz2500",fontsize=10,color="white",style="solid",shape="box"];158 -> 1468[label="",style="solid", color="burlywood", weight=9]; 1468 -> 164[label="",style="solid", color="burlywood", weight=3]; 1469[label="vuz250/Zero",fontsize=10,color="white",style="solid",shape="box"];158 -> 1469[label="",style="solid", color="burlywood", weight=9]; 1469 -> 165[label="",style="solid", color="burlywood", weight=3]; 159[label="primEqInt (Neg vuz250) (fromInt (Pos Zero))",fontsize=16,color="burlywood",shape="box"];1470[label="vuz250/Succ vuz2500",fontsize=10,color="white",style="solid",shape="box"];159 -> 1470[label="",style="solid", color="burlywood", weight=9]; 1470 -> 166[label="",style="solid", color="burlywood", weight=3]; 1471[label="vuz250/Zero",fontsize=10,color="white",style="solid",shape="box"];159 -> 1471[label="",style="solid", color="burlywood", weight=9]; 1471 -> 167[label="",style="solid", color="burlywood", weight=3]; 1079[label="Integer vuz110 * Integer vuz130",fontsize=16,color="black",shape="box"];1079 -> 1102[label="",style="solid", color="black", weight=3]; 1080[label="Integer vuz1060 == Integer (Pos Zero)",fontsize=16,color="black",shape="box"];1080 -> 1103[label="",style="solid", color="black", weight=3]; 161[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"];161 -> 170[label="",style="dashed", color="green", weight=3]; 161 -> 171[label="",style="dashed", color="green", weight=3]; 162[label="Succ vuz3100",fontsize=16,color="green",shape="box"];163 -> 122[label="",style="dashed", color="red", weight=0]; 163[label="primMulNat vuz4100 (Succ vuz3100)",fontsize=16,color="magenta"];163 -> 172[label="",style="dashed", color="magenta", weight=3]; 163 -> 173[label="",style="dashed", color="magenta", weight=3]; 164[label="primEqInt (Pos (Succ vuz2500)) (fromInt (Pos Zero))",fontsize=16,color="black",shape="box"];164 -> 174[label="",style="solid", color="black", weight=3]; 165[label="primEqInt (Pos Zero) (fromInt (Pos Zero))",fontsize=16,color="black",shape="box"];165 -> 175[label="",style="solid", color="black", weight=3]; 166[label="primEqInt (Neg (Succ vuz2500)) (fromInt (Pos Zero))",fontsize=16,color="black",shape="box"];166 -> 176[label="",style="solid", color="black", weight=3]; 167[label="primEqInt (Neg Zero) (fromInt (Pos Zero))",fontsize=16,color="black",shape="box"];167 -> 177[label="",style="solid", color="black", weight=3]; 1102[label="Integer (primMulInt vuz110 vuz130)",fontsize=16,color="green",shape="box"];1102 -> 1119[label="",style="dashed", color="green", weight=3]; 1103[label="primEqInt vuz1060 (Pos Zero)",fontsize=16,color="burlywood",shape="box"];1472[label="vuz1060/Pos vuz10600",fontsize=10,color="white",style="solid",shape="box"];1103 -> 1472[label="",style="solid", color="burlywood", weight=9]; 1472 -> 1120[label="",style="solid", color="burlywood", weight=3]; 1473[label="vuz1060/Neg vuz10600",fontsize=10,color="white",style="solid",shape="box"];1103 -> 1473[label="",style="solid", color="burlywood", weight=9]; 1473 -> 1121[label="",style="solid", color="burlywood", weight=3]; 170[label="(vuz20 * vuz21 + vuz22 * vuz23) `quot` reduce2D (vuz20 * vuz21 + vuz22 * vuz23) (vuz23 * vuz21)",fontsize=16,color="blue",shape="box"];1474[label="`quot` :: Int -> Int -> Int",fontsize=10,color="white",style="solid",shape="box"];170 -> 1474[label="",style="solid", color="blue", weight=9]; 1474 -> 181[label="",style="solid", color="blue", weight=3]; 1475[label="`quot` :: Integer -> Integer -> Integer",fontsize=10,color="white",style="solid",shape="box"];170 -> 1475[label="",style="solid", color="blue", weight=9]; 1475 -> 182[label="",style="solid", color="blue", weight=3]; 171[label="vuz23 * vuz21 `quot` reduce2D (vuz20 * vuz21 + vuz22 * vuz23) (vuz23 * vuz21)",fontsize=16,color="blue",shape="box"];1476[label="`quot` :: Int -> Int -> Int",fontsize=10,color="white",style="solid",shape="box"];171 -> 1476[label="",style="solid", color="blue", weight=9]; 1476 -> 183[label="",style="solid", color="blue", weight=3]; 1477[label="`quot` :: Integer -> Integer -> Integer",fontsize=10,color="white",style="solid",shape="box"];171 -> 1477[label="",style="solid", color="blue", weight=9]; 1477 -> 184[label="",style="solid", color="blue", weight=3]; 172[label="Succ vuz3100",fontsize=16,color="green",shape="box"];173[label="vuz4100",fontsize=16,color="green",shape="box"];174[label="primEqInt (Pos (Succ vuz2500)) (Pos Zero)",fontsize=16,color="black",shape="box"];174 -> 185[label="",style="solid", color="black", weight=3]; 175[label="primEqInt (Pos Zero) (Pos Zero)",fontsize=16,color="black",shape="box"];175 -> 186[label="",style="solid", color="black", weight=3]; 176[label="primEqInt (Neg (Succ vuz2500)) (Pos Zero)",fontsize=16,color="black",shape="box"];176 -> 187[label="",style="solid", color="black", weight=3]; 177[label="primEqInt (Neg Zero) (Pos Zero)",fontsize=16,color="black",shape="box"];177 -> 188[label="",style="solid", color="black", weight=3]; 1119 -> 58[label="",style="dashed", color="red", weight=0]; 1119[label="primMulInt vuz110 vuz130",fontsize=16,color="magenta"];1119 -> 1137[label="",style="dashed", color="magenta", weight=3]; 1119 -> 1138[label="",style="dashed", color="magenta", weight=3]; 1120[label="primEqInt (Pos vuz10600) (Pos Zero)",fontsize=16,color="burlywood",shape="box"];1478[label="vuz10600/Succ vuz106000",fontsize=10,color="white",style="solid",shape="box"];1120 -> 1478[label="",style="solid", color="burlywood", weight=9]; 1478 -> 1139[label="",style="solid", color="burlywood", weight=3]; 1479[label="vuz10600/Zero",fontsize=10,color="white",style="solid",shape="box"];1120 -> 1479[label="",style="solid", color="burlywood", weight=9]; 1479 -> 1140[label="",style="solid", color="burlywood", weight=3]; 1121[label="primEqInt (Neg vuz10600) (Pos Zero)",fontsize=16,color="burlywood",shape="box"];1480[label="vuz10600/Succ vuz106000",fontsize=10,color="white",style="solid",shape="box"];1121 -> 1480[label="",style="solid", color="burlywood", weight=9]; 1480 -> 1141[label="",style="solid", color="burlywood", weight=3]; 1481[label="vuz10600/Zero",fontsize=10,color="white",style="solid",shape="box"];1121 -> 1481[label="",style="solid", color="burlywood", weight=9]; 1481 -> 1142[label="",style="solid", color="burlywood", weight=3]; 181 -> 222[label="",style="dashed", color="red", weight=0]; 181[label="(vuz20 * vuz21 + vuz22 * vuz23) `quot` reduce2D (vuz20 * vuz21 + vuz22 * vuz23) (vuz23 * vuz21)",fontsize=16,color="magenta"];181 -> 223[label="",style="dashed", color="magenta", weight=3]; 181 -> 224[label="",style="dashed", color="magenta", weight=3]; 181 -> 225[label="",style="dashed", color="magenta", weight=3]; 182[label="(vuz20 * vuz21 + vuz22 * vuz23) `quot` reduce2D (vuz20 * vuz21 + vuz22 * vuz23) (vuz23 * vuz21)",fontsize=16,color="burlywood",shape="box"];1482[label="vuz20/Integer vuz200",fontsize=10,color="white",style="solid",shape="box"];182 -> 1482[label="",style="solid", color="burlywood", weight=9]; 1482 -> 196[label="",style="solid", color="burlywood", weight=3]; 183 -> 222[label="",style="dashed", color="red", weight=0]; 183[label="vuz23 * vuz21 `quot` reduce2D (vuz20 * vuz21 + vuz22 * vuz23) (vuz23 * vuz21)",fontsize=16,color="magenta"];183 -> 226[label="",style="dashed", color="magenta", weight=3]; 183 -> 227[label="",style="dashed", color="magenta", weight=3]; 183 -> 228[label="",style="dashed", color="magenta", weight=3]; 184[label="vuz23 * vuz21 `quot` reduce2D (vuz20 * vuz21 + vuz22 * vuz23) (vuz23 * vuz21)",fontsize=16,color="burlywood",shape="box"];1483[label="vuz23/Integer vuz230",fontsize=10,color="white",style="solid",shape="box"];184 -> 1483[label="",style="solid", color="burlywood", weight=9]; 1483 -> 210[label="",style="solid", color="burlywood", weight=3]; 185[label="False",fontsize=16,color="green",shape="box"];186[label="True",fontsize=16,color="green",shape="box"];187[label="False",fontsize=16,color="green",shape="box"];188[label="True",fontsize=16,color="green",shape="box"];1137[label="vuz130",fontsize=16,color="green",shape="box"];1138[label="vuz110",fontsize=16,color="green",shape="box"];1139[label="primEqInt (Pos (Succ vuz106000)) (Pos Zero)",fontsize=16,color="black",shape="box"];1139 -> 1153[label="",style="solid", color="black", weight=3]; 1140[label="primEqInt (Pos Zero) (Pos Zero)",fontsize=16,color="black",shape="box"];1140 -> 1154[label="",style="solid", color="black", weight=3]; 1141[label="primEqInt (Neg (Succ vuz106000)) (Pos Zero)",fontsize=16,color="black",shape="box"];1141 -> 1155[label="",style="solid", color="black", weight=3]; 1142[label="primEqInt (Neg Zero) (Pos Zero)",fontsize=16,color="black",shape="box"];1142 -> 1156[label="",style="solid", color="black", weight=3]; 223 -> 230[label="",style="dashed", color="red", weight=0]; 223[label="vuz20 * vuz21 + vuz22 * vuz23",fontsize=16,color="magenta"];223 -> 231[label="",style="dashed", color="magenta", weight=3]; 223 -> 232[label="",style="dashed", color="magenta", weight=3]; 224 -> 230[label="",style="dashed", color="red", weight=0]; 224[label="vuz20 * vuz21 + vuz22 * vuz23",fontsize=16,color="magenta"];224 -> 233[label="",style="dashed", color="magenta", weight=3]; 224 -> 234[label="",style="dashed", color="magenta", weight=3]; 225 -> 40[label="",style="dashed", color="red", weight=0]; 225[label="vuz23 * vuz21",fontsize=16,color="magenta"];225 -> 237[label="",style="dashed", color="magenta", weight=3]; 225 -> 238[label="",style="dashed", color="magenta", weight=3]; 222[label="vuz32 `quot` reduce2D vuz38 vuz33",fontsize=16,color="black",shape="triangle"];222 -> 239[label="",style="solid", color="black", weight=3]; 196[label="(Integer vuz200 * vuz21 + vuz22 * vuz23) `quot` reduce2D (Integer vuz200 * vuz21 + vuz22 * vuz23) (vuz23 * vuz21)",fontsize=16,color="burlywood",shape="box"];1484[label="vuz21/Integer vuz210",fontsize=10,color="white",style="solid",shape="box"];196 -> 1484[label="",style="solid", color="burlywood", weight=9]; 1484 -> 240[label="",style="solid", color="burlywood", weight=3]; 226 -> 230[label="",style="dashed", color="red", weight=0]; 226[label="vuz20 * vuz21 + vuz22 * vuz23",fontsize=16,color="magenta"];226 -> 235[label="",style="dashed", color="magenta", weight=3]; 226 -> 236[label="",style="dashed", color="magenta", weight=3]; 227 -> 40[label="",style="dashed", color="red", weight=0]; 227[label="vuz23 * vuz21",fontsize=16,color="magenta"];227 -> 241[label="",style="dashed", color="magenta", weight=3]; 227 -> 242[label="",style="dashed", color="magenta", weight=3]; 228 -> 40[label="",style="dashed", color="red", weight=0]; 228[label="vuz23 * vuz21",fontsize=16,color="magenta"];228 -> 243[label="",style="dashed", color="magenta", weight=3]; 228 -> 244[label="",style="dashed", color="magenta", weight=3]; 210[label="Integer vuz230 * vuz21 `quot` reduce2D (vuz20 * vuz21 + vuz22 * Integer vuz230) (Integer vuz230 * vuz21)",fontsize=16,color="burlywood",shape="box"];1485[label="vuz21/Integer vuz210",fontsize=10,color="white",style="solid",shape="box"];210 -> 1485[label="",style="solid", color="burlywood", weight=9]; 1485 -> 245[label="",style="solid", color="burlywood", weight=3]; 1153[label="False",fontsize=16,color="green",shape="box"];1154[label="True",fontsize=16,color="green",shape="box"];1155[label="False",fontsize=16,color="green",shape="box"];1156[label="True",fontsize=16,color="green",shape="box"];231 -> 40[label="",style="dashed", color="red", weight=0]; 231[label="vuz22 * vuz23",fontsize=16,color="magenta"];231 -> 250[label="",style="dashed", color="magenta", weight=3]; 231 -> 251[label="",style="dashed", color="magenta", weight=3]; 232 -> 40[label="",style="dashed", color="red", weight=0]; 232[label="vuz20 * vuz21",fontsize=16,color="magenta"];232 -> 252[label="",style="dashed", color="magenta", weight=3]; 232 -> 253[label="",style="dashed", color="magenta", weight=3]; 230[label="vuz40 + vuz39",fontsize=16,color="black",shape="triangle"];230 -> 254[label="",style="solid", color="black", weight=3]; 233 -> 40[label="",style="dashed", color="red", weight=0]; 233[label="vuz22 * vuz23",fontsize=16,color="magenta"];233 -> 255[label="",style="dashed", color="magenta", weight=3]; 233 -> 256[label="",style="dashed", color="magenta", weight=3]; 234 -> 40[label="",style="dashed", color="red", weight=0]; 234[label="vuz20 * vuz21",fontsize=16,color="magenta"];234 -> 257[label="",style="dashed", color="magenta", weight=3]; 234 -> 258[label="",style="dashed", color="magenta", weight=3]; 237[label="vuz21",fontsize=16,color="green",shape="box"];238[label="vuz23",fontsize=16,color="green",shape="box"];239[label="primQuotInt vuz32 (reduce2D vuz38 vuz33)",fontsize=16,color="burlywood",shape="box"];1486[label="vuz32/Pos vuz320",fontsize=10,color="white",style="solid",shape="box"];239 -> 1486[label="",style="solid", color="burlywood", weight=9]; 1486 -> 263[label="",style="solid", color="burlywood", weight=3]; 1487[label="vuz32/Neg vuz320",fontsize=10,color="white",style="solid",shape="box"];239 -> 1487[label="",style="solid", color="burlywood", weight=9]; 1487 -> 264[label="",style="solid", color="burlywood", weight=3]; 240[label="(Integer vuz200 * Integer vuz210 + vuz22 * vuz23) `quot` reduce2D (Integer vuz200 * Integer vuz210 + vuz22 * vuz23) (vuz23 * Integer vuz210)",fontsize=16,color="black",shape="box"];240 -> 265[label="",style="solid", color="black", weight=3]; 235 -> 40[label="",style="dashed", color="red", weight=0]; 235[label="vuz22 * vuz23",fontsize=16,color="magenta"];235 -> 259[label="",style="dashed", color="magenta", weight=3]; 235 -> 260[label="",style="dashed", color="magenta", weight=3]; 236 -> 40[label="",style="dashed", color="red", weight=0]; 236[label="vuz20 * vuz21",fontsize=16,color="magenta"];236 -> 261[label="",style="dashed", color="magenta", weight=3]; 236 -> 262[label="",style="dashed", color="magenta", weight=3]; 241[label="vuz21",fontsize=16,color="green",shape="box"];242[label="vuz23",fontsize=16,color="green",shape="box"];243[label="vuz21",fontsize=16,color="green",shape="box"];244[label="vuz23",fontsize=16,color="green",shape="box"];245[label="Integer vuz230 * Integer vuz210 `quot` reduce2D (vuz20 * Integer vuz210 + vuz22 * Integer vuz230) (Integer vuz230 * Integer vuz210)",fontsize=16,color="black",shape="box"];245 -> 266[label="",style="solid", color="black", weight=3]; 250[label="vuz23",fontsize=16,color="green",shape="box"];251[label="vuz22",fontsize=16,color="green",shape="box"];252[label="vuz21",fontsize=16,color="green",shape="box"];253[label="vuz20",fontsize=16,color="green",shape="box"];254[label="primPlusInt vuz40 vuz39",fontsize=16,color="burlywood",shape="triangle"];1488[label="vuz40/Pos vuz400",fontsize=10,color="white",style="solid",shape="box"];254 -> 1488[label="",style="solid", color="burlywood", weight=9]; 1488 -> 271[label="",style="solid", color="burlywood", weight=3]; 1489[label="vuz40/Neg vuz400",fontsize=10,color="white",style="solid",shape="box"];254 -> 1489[label="",style="solid", color="burlywood", weight=9]; 1489 -> 272[label="",style="solid", color="burlywood", weight=3]; 255[label="vuz23",fontsize=16,color="green",shape="box"];256[label="vuz22",fontsize=16,color="green",shape="box"];257[label="vuz21",fontsize=16,color="green",shape="box"];258[label="vuz20",fontsize=16,color="green",shape="box"];263[label="primQuotInt (Pos vuz320) (reduce2D vuz38 vuz33)",fontsize=16,color="black",shape="box"];263 -> 273[label="",style="solid", color="black", weight=3]; 264[label="primQuotInt (Neg vuz320) (reduce2D vuz38 vuz33)",fontsize=16,color="black",shape="box"];264 -> 274[label="",style="solid", color="black", weight=3]; 265 -> 275[label="",style="dashed", color="red", weight=0]; 265[label="(Integer (primMulInt vuz200 vuz210) + vuz22 * vuz23) `quot` reduce2D (Integer (primMulInt vuz200 vuz210) + vuz22 * vuz23) (vuz23 * Integer vuz210)",fontsize=16,color="magenta"];265 -> 276[label="",style="dashed", color="magenta", weight=3]; 265 -> 277[label="",style="dashed", color="magenta", weight=3]; 259[label="vuz23",fontsize=16,color="green",shape="box"];260[label="vuz22",fontsize=16,color="green",shape="box"];261[label="vuz21",fontsize=16,color="green",shape="box"];262[label="vuz20",fontsize=16,color="green",shape="box"];266 -> 278[label="",style="dashed", color="red", weight=0]; 266[label="Integer (primMulInt vuz230 vuz210) `quot` reduce2D (vuz20 * Integer vuz210 + vuz22 * Integer vuz230) (Integer (primMulInt vuz230 vuz210))",fontsize=16,color="magenta"];266 -> 279[label="",style="dashed", color="magenta", weight=3]; 266 -> 280[label="",style="dashed", color="magenta", weight=3]; 271[label="primPlusInt (Pos vuz400) vuz39",fontsize=16,color="burlywood",shape="box"];1490[label="vuz39/Pos vuz390",fontsize=10,color="white",style="solid",shape="box"];271 -> 1490[label="",style="solid", color="burlywood", weight=9]; 1490 -> 281[label="",style="solid", color="burlywood", weight=3]; 1491[label="vuz39/Neg vuz390",fontsize=10,color="white",style="solid",shape="box"];271 -> 1491[label="",style="solid", color="burlywood", weight=9]; 1491 -> 282[label="",style="solid", color="burlywood", weight=3]; 272[label="primPlusInt (Neg vuz400) vuz39",fontsize=16,color="burlywood",shape="box"];1492[label="vuz39/Pos vuz390",fontsize=10,color="white",style="solid",shape="box"];272 -> 1492[label="",style="solid", color="burlywood", weight=9]; 1492 -> 283[label="",style="solid", color="burlywood", weight=3]; 1493[label="vuz39/Neg vuz390",fontsize=10,color="white",style="solid",shape="box"];272 -> 1493[label="",style="solid", color="burlywood", weight=9]; 1493 -> 284[label="",style="solid", color="burlywood", weight=3]; 273 -> 417[label="",style="dashed", color="red", weight=0]; 273[label="primQuotInt (Pos vuz320) (gcd vuz38 vuz33)",fontsize=16,color="magenta"];273 -> 418[label="",style="dashed", color="magenta", weight=3]; 274 -> 445[label="",style="dashed", color="red", weight=0]; 274[label="primQuotInt (Neg vuz320) (gcd vuz38 vuz33)",fontsize=16,color="magenta"];274 -> 446[label="",style="dashed", color="magenta", weight=3]; 276 -> 58[label="",style="dashed", color="red", weight=0]; 276[label="primMulInt vuz200 vuz210",fontsize=16,color="magenta"];276 -> 287[label="",style="dashed", color="magenta", weight=3]; 276 -> 288[label="",style="dashed", color="magenta", weight=3]; 277 -> 58[label="",style="dashed", color="red", weight=0]; 277[label="primMulInt vuz200 vuz210",fontsize=16,color="magenta"];277 -> 289[label="",style="dashed", color="magenta", weight=3]; 277 -> 290[label="",style="dashed", color="magenta", weight=3]; 275[label="(Integer vuz41 + vuz22 * vuz23) `quot` reduce2D (Integer vuz42 + vuz22 * vuz23) (vuz23 * Integer vuz210)",fontsize=16,color="burlywood",shape="triangle"];1494[label="vuz22/Integer vuz220",fontsize=10,color="white",style="solid",shape="box"];275 -> 1494[label="",style="solid", color="burlywood", weight=9]; 1494 -> 291[label="",style="solid", color="burlywood", weight=3]; 279 -> 58[label="",style="dashed", color="red", weight=0]; 279[label="primMulInt vuz230 vuz210",fontsize=16,color="magenta"];279 -> 292[label="",style="dashed", color="magenta", weight=3]; 279 -> 293[label="",style="dashed", color="magenta", weight=3]; 280 -> 58[label="",style="dashed", color="red", weight=0]; 280[label="primMulInt vuz230 vuz210",fontsize=16,color="magenta"];280 -> 294[label="",style="dashed", color="magenta", weight=3]; 280 -> 295[label="",style="dashed", color="magenta", weight=3]; 278[label="Integer vuz43 `quot` reduce2D (vuz20 * Integer vuz210 + vuz22 * Integer vuz230) (Integer vuz44)",fontsize=16,color="black",shape="triangle"];278 -> 296[label="",style="solid", color="black", weight=3]; 281[label="primPlusInt (Pos vuz400) (Pos vuz390)",fontsize=16,color="black",shape="box"];281 -> 297[label="",style="solid", color="black", weight=3]; 282[label="primPlusInt (Pos vuz400) (Neg vuz390)",fontsize=16,color="black",shape="box"];282 -> 298[label="",style="solid", color="black", weight=3]; 283[label="primPlusInt (Neg vuz400) (Pos vuz390)",fontsize=16,color="black",shape="box"];283 -> 299[label="",style="solid", color="black", weight=3]; 284[label="primPlusInt (Neg vuz400) (Neg vuz390)",fontsize=16,color="black",shape="box"];284 -> 300[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"];1495[label="vuz65/Pos vuz650",fontsize=10,color="white",style="solid",shape="box"];417 -> 1495[label="",style="solid", color="burlywood", weight=9]; 1495 -> 435[label="",style="solid", color="burlywood", weight=3]; 1496[label="vuz65/Neg vuz650",fontsize=10,color="white",style="solid",shape="box"];417 -> 1496[label="",style="solid", color="burlywood", weight=9]; 1496 -> 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"];1497[label="vuz68/Pos vuz680",fontsize=10,color="white",style="solid",shape="box"];445 -> 1497[label="",style="solid", color="burlywood", weight=9]; 1497 -> 462[label="",style="solid", color="burlywood", weight=3]; 1498[label="vuz68/Neg vuz680",fontsize=10,color="white",style="solid",shape="box"];445 -> 1498[label="",style="solid", color="burlywood", weight=9]; 1498 -> 463[label="",style="solid", color="burlywood", weight=3]; 287[label="vuz210",fontsize=16,color="green",shape="box"];288[label="vuz200",fontsize=16,color="green",shape="box"];289[label="vuz210",fontsize=16,color="green",shape="box"];290[label="vuz200",fontsize=16,color="green",shape="box"];291[label="(Integer vuz41 + Integer vuz220 * vuz23) `quot` reduce2D (Integer vuz42 + Integer vuz220 * vuz23) (vuz23 * Integer vuz210)",fontsize=16,color="burlywood",shape="box"];1499[label="vuz23/Integer vuz230",fontsize=10,color="white",style="solid",shape="box"];291 -> 1499[label="",style="solid", color="burlywood", weight=9]; 1499 -> 303[label="",style="solid", color="burlywood", weight=3]; 292[label="vuz210",fontsize=16,color="green",shape="box"];293[label="vuz230",fontsize=16,color="green",shape="box"];294[label="vuz210",fontsize=16,color="green",shape="box"];295[label="vuz230",fontsize=16,color="green",shape="box"];296[label="Integer vuz43 `quot` gcd (vuz20 * Integer vuz210 + vuz22 * Integer vuz230) (Integer vuz44)",fontsize=16,color="black",shape="box"];296 -> 304[label="",style="solid", color="black", weight=3]; 297[label="Pos (primPlusNat vuz400 vuz390)",fontsize=16,color="green",shape="box"];297 -> 305[label="",style="dashed", color="green", weight=3]; 298 -> 35[label="",style="dashed", color="red", weight=0]; 298[label="primMinusNat vuz400 vuz390",fontsize=16,color="magenta"];298 -> 306[label="",style="dashed", color="magenta", weight=3]; 298 -> 307[label="",style="dashed", color="magenta", weight=3]; 299 -> 35[label="",style="dashed", color="red", weight=0]; 299[label="primMinusNat vuz390 vuz400",fontsize=16,color="magenta"];299 -> 308[label="",style="dashed", color="magenta", weight=3]; 299 -> 309[label="",style="dashed", color="magenta", weight=3]; 300[label="Neg (primPlusNat vuz400 vuz390)",fontsize=16,color="green",shape="box"];300 -> 310[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"];1500[label="vuz650/Succ vuz6500",fontsize=10,color="white",style="solid",shape="box"];435 -> 1500[label="",style="solid", color="burlywood", weight=9]; 1500 -> 441[label="",style="solid", color="burlywood", weight=3]; 1501[label="vuz650/Zero",fontsize=10,color="white",style="solid",shape="box"];435 -> 1501[label="",style="solid", color="burlywood", weight=9]; 1501 -> 442[label="",style="solid", color="burlywood", weight=3]; 436[label="primQuotInt (Pos vuz320) (Neg vuz650)",fontsize=16,color="burlywood",shape="box"];1502[label="vuz650/Succ vuz6500",fontsize=10,color="white",style="solid",shape="box"];436 -> 1502[label="",style="solid", color="burlywood", weight=9]; 1502 -> 443[label="",style="solid", color="burlywood", weight=3]; 1503[label="vuz650/Zero",fontsize=10,color="white",style="solid",shape="box"];436 -> 1503[label="",style="solid", color="burlywood", weight=9]; 1503 -> 444[label="",style="solid", color="burlywood", weight=3]; 462[label="primQuotInt (Neg vuz320) (Pos vuz680)",fontsize=16,color="burlywood",shape="box"];1504[label="vuz680/Succ vuz6800",fontsize=10,color="white",style="solid",shape="box"];462 -> 1504[label="",style="solid", color="burlywood", weight=9]; 1504 -> 466[label="",style="solid", color="burlywood", weight=3]; 1505[label="vuz680/Zero",fontsize=10,color="white",style="solid",shape="box"];462 -> 1505[label="",style="solid", color="burlywood", weight=9]; 1505 -> 467[label="",style="solid", color="burlywood", weight=3]; 463[label="primQuotInt (Neg vuz320) (Neg vuz680)",fontsize=16,color="burlywood",shape="box"];1506[label="vuz680/Succ vuz6800",fontsize=10,color="white",style="solid",shape="box"];463 -> 1506[label="",style="solid", color="burlywood", weight=9]; 1506 -> 468[label="",style="solid", color="burlywood", weight=3]; 1507[label="vuz680/Zero",fontsize=10,color="white",style="solid",shape="box"];463 -> 1507[label="",style="solid", color="burlywood", weight=9]; 1507 -> 469[label="",style="solid", color="burlywood", weight=3]; 303[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"];303 -> 315[label="",style="solid", color="black", weight=3]; 304[label="Integer vuz43 `quot` gcd3 (vuz20 * Integer vuz210 + vuz22 * Integer vuz230) (Integer vuz44)",fontsize=16,color="black",shape="box"];304 -> 316[label="",style="solid", color="black", weight=3]; 305 -> 52[label="",style="dashed", color="red", weight=0]; 305[label="primPlusNat vuz400 vuz390",fontsize=16,color="magenta"];305 -> 317[label="",style="dashed", color="magenta", weight=3]; 305 -> 318[label="",style="dashed", color="magenta", weight=3]; 306[label="vuz390",fontsize=16,color="green",shape="box"];307[label="vuz400",fontsize=16,color="green",shape="box"];308[label="vuz400",fontsize=16,color="green",shape="box"];309[label="vuz390",fontsize=16,color="green",shape="box"];310 -> 52[label="",style="dashed", color="red", weight=0]; 310[label="primPlusNat vuz400 vuz390",fontsize=16,color="magenta"];310 -> 319[label="",style="dashed", color="magenta", weight=3]; 310 -> 320[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 -> 484[label="",style="solid", color="black", weight=3]; 467[label="primQuotInt (Neg vuz320) (Pos Zero)",fontsize=16,color="black",shape="box"];467 -> 485[label="",style="solid", color="black", weight=3]; 468[label="primQuotInt (Neg vuz320) (Neg (Succ vuz6800))",fontsize=16,color="black",shape="box"];468 -> 486[label="",style="solid", color="black", weight=3]; 469[label="primQuotInt (Neg vuz320) (Neg Zero)",fontsize=16,color="black",shape="box"];469 -> 487[label="",style="solid", color="black", weight=3]; 315 -> 327[label="",style="dashed", color="red", weight=0]; 315[label="(Integer vuz41 + Integer (primMulInt vuz220 vuz230)) `quot` reduce2D (Integer vuz42 + Integer (primMulInt vuz220 vuz230)) (Integer vuz230 * Integer vuz210)",fontsize=16,color="magenta"];315 -> 328[label="",style="dashed", color="magenta", weight=3]; 315 -> 329[label="",style="dashed", color="magenta", weight=3]; 316[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"];1508[label="vuz20/Integer vuz200",fontsize=10,color="white",style="solid",shape="box"];316 -> 1508[label="",style="solid", color="burlywood", weight=9]; 1508 -> 330[label="",style="solid", color="burlywood", weight=3]; 317[label="vuz390",fontsize=16,color="green",shape="box"];318[label="vuz400",fontsize=16,color="green",shape="box"];319[label="vuz390",fontsize=16,color="green",shape="box"];320[label="vuz400",fontsize=16,color="green",shape="box"];465 -> 139[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"];1509[label="vuz69/False",fontsize=10,color="white",style="solid",shape="box"];464 -> 1509[label="",style="solid", color="burlywood", weight=9]; 1509 -> 475[label="",style="solid", color="burlywood", weight=3]; 1510[label="vuz69/True",fontsize=10,color="white",style="solid",shape="box"];464 -> 1510[label="",style="solid", color="burlywood", weight=9]; 1510 -> 476[label="",style="solid", color="burlywood", weight=3]; 470[label="Pos (primDivNatS vuz320 (Succ vuz6500))",fontsize=16,color="green",shape="box"];470 -> 488[label="",style="dashed", color="green", weight=3]; 471[label="error []",fontsize=16,color="black",shape="triangle"];471 -> 489[label="",style="solid", color="black", weight=3]; 472[label="Neg (primDivNatS vuz320 (Succ vuz6500))",fontsize=16,color="green",shape="box"];472 -> 490[label="",style="dashed", color="green", weight=3]; 473 -> 471[label="",style="dashed", color="red", weight=0]; 473[label="error []",fontsize=16,color="magenta"];484[label="Neg (primDivNatS vuz320 (Succ vuz6800))",fontsize=16,color="green",shape="box"];484 -> 496[label="",style="dashed", color="green", weight=3]; 485 -> 471[label="",style="dashed", color="red", weight=0]; 485[label="error []",fontsize=16,color="magenta"];486[label="Pos (primDivNatS vuz320 (Succ vuz6800))",fontsize=16,color="green",shape="box"];486 -> 497[label="",style="dashed", color="green", weight=3]; 487 -> 471[label="",style="dashed", color="red", weight=0]; 487[label="error []",fontsize=16,color="magenta"];328 -> 58[label="",style="dashed", color="red", weight=0]; 328[label="primMulInt vuz220 vuz230",fontsize=16,color="magenta"];328 -> 335[label="",style="dashed", color="magenta", weight=3]; 328 -> 336[label="",style="dashed", color="magenta", weight=3]; 329 -> 58[label="",style="dashed", color="red", weight=0]; 329[label="primMulInt vuz220 vuz230",fontsize=16,color="magenta"];329 -> 337[label="",style="dashed", color="magenta", weight=3]; 329 -> 338[label="",style="dashed", color="magenta", weight=3]; 327[label="(Integer vuz41 + Integer vuz47) `quot` reduce2D (Integer vuz42 + Integer vuz48) (Integer vuz230 * Integer vuz210)",fontsize=16,color="black",shape="triangle"];327 -> 339[label="",style="solid", color="black", weight=3]; 330[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"];330 -> 340[label="",style="solid", color="black", weight=3]; 474[label="vuz38",fontsize=16,color="green",shape="box"];475[label="gcd2 False vuz38 vuz33",fontsize=16,color="black",shape="box"];475 -> 491[label="",style="solid", color="black", weight=3]; 476[label="gcd2 True vuz38 vuz33",fontsize=16,color="black",shape="box"];476 -> 492[label="",style="solid", color="black", weight=3]; 488[label="primDivNatS vuz320 (Succ vuz6500)",fontsize=16,color="burlywood",shape="triangle"];1511[label="vuz320/Succ vuz3200",fontsize=10,color="white",style="solid",shape="box"];488 -> 1511[label="",style="solid", color="burlywood", weight=9]; 1511 -> 498[label="",style="solid", color="burlywood", weight=3]; 1512[label="vuz320/Zero",fontsize=10,color="white",style="solid",shape="box"];488 -> 1512[label="",style="solid", color="burlywood", weight=9]; 1512 -> 499[label="",style="solid", color="burlywood", weight=3]; 489[label="error []",fontsize=16,color="red",shape="box"];490 -> 488[label="",style="dashed", color="red", weight=0]; 490[label="primDivNatS vuz320 (Succ vuz6500)",fontsize=16,color="magenta"];490 -> 500[label="",style="dashed", color="magenta", weight=3]; 496 -> 488[label="",style="dashed", color="red", weight=0]; 496[label="primDivNatS vuz320 (Succ vuz6800)",fontsize=16,color="magenta"];496 -> 504[label="",style="dashed", color="magenta", weight=3]; 496 -> 505[label="",style="dashed", color="magenta", weight=3]; 497 -> 488[label="",style="dashed", color="red", weight=0]; 497[label="primDivNatS vuz320 (Succ vuz6800)",fontsize=16,color="magenta"];497 -> 506[label="",style="dashed", color="magenta", weight=3]; 497 -> 507[label="",style="dashed", color="magenta", weight=3]; 335[label="vuz230",fontsize=16,color="green",shape="box"];336[label="vuz220",fontsize=16,color="green",shape="box"];337[label="vuz230",fontsize=16,color="green",shape="box"];338[label="vuz220",fontsize=16,color="green",shape="box"];339 -> 347[label="",style="dashed", color="red", weight=0]; 339[label="Integer (primPlusInt vuz41 vuz47) `quot` reduce2D (Integer (primPlusInt vuz41 vuz47)) (Integer vuz230 * Integer vuz210)",fontsize=16,color="magenta"];339 -> 348[label="",style="dashed", color="magenta", weight=3]; 339 -> 349[label="",style="dashed", color="magenta", weight=3]; 340 -> 350[label="",style="dashed", color="red", weight=0]; 340[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"];340 -> 351[label="",style="dashed", color="magenta", weight=3]; 340 -> 352[label="",style="dashed", color="magenta", weight=3]; 491[label="gcd0 vuz38 vuz33",fontsize=16,color="black",shape="triangle"];491 -> 501[label="",style="solid", color="black", weight=3]; 492 -> 502[label="",style="dashed", color="red", weight=0]; 492[label="gcd1 (vuz33 == fromInt (Pos Zero)) vuz38 vuz33",fontsize=16,color="magenta"];492 -> 503[label="",style="dashed", color="magenta", weight=3]; 498[label="primDivNatS (Succ vuz3200) (Succ vuz6500)",fontsize=16,color="black",shape="box"];498 -> 508[label="",style="solid", color="black", weight=3]; 499[label="primDivNatS Zero (Succ vuz6500)",fontsize=16,color="black",shape="box"];499 -> 509[label="",style="solid", color="black", weight=3]; 500[label="vuz6500",fontsize=16,color="green",shape="box"];504[label="vuz320",fontsize=16,color="green",shape="box"];505[label="vuz6800",fontsize=16,color="green",shape="box"];506[label="vuz320",fontsize=16,color="green",shape="box"];507[label="vuz6800",fontsize=16,color="green",shape="box"];348 -> 254[label="",style="dashed", color="red", weight=0]; 348[label="primPlusInt vuz41 vuz47",fontsize=16,color="magenta"];348 -> 361[label="",style="dashed", color="magenta", weight=3]; 348 -> 362[label="",style="dashed", color="magenta", weight=3]; 349 -> 254[label="",style="dashed", color="red", weight=0]; 349[label="primPlusInt vuz41 vuz47",fontsize=16,color="magenta"];349 -> 363[label="",style="dashed", color="magenta", weight=3]; 349 -> 364[label="",style="dashed", color="magenta", weight=3]; 347[label="Integer vuz51 `quot` reduce2D (Integer vuz52) (Integer vuz230 * Integer vuz210)",fontsize=16,color="black",shape="triangle"];347 -> 365[label="",style="solid", color="black", weight=3]; 351 -> 58[label="",style="dashed", color="red", weight=0]; 351[label="primMulInt vuz200 vuz210",fontsize=16,color="magenta"];351 -> 366[label="",style="dashed", color="magenta", weight=3]; 351 -> 367[label="",style="dashed", color="magenta", weight=3]; 352 -> 58[label="",style="dashed", color="red", weight=0]; 352[label="primMulInt vuz200 vuz210",fontsize=16,color="magenta"];352 -> 368[label="",style="dashed", color="magenta", weight=3]; 352 -> 369[label="",style="dashed", color="magenta", weight=3]; 350[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"];1513[label="vuz22/Integer vuz220",fontsize=10,color="white",style="solid",shape="box"];350 -> 1513[label="",style="solid", color="burlywood", weight=9]; 1513 -> 370[label="",style="solid", color="burlywood", weight=3]; 501[label="gcd0Gcd' (abs vuz38) (abs vuz33)",fontsize=16,color="black",shape="box"];501 -> 510[label="",style="solid", color="black", weight=3]; 503 -> 139[label="",style="dashed", color="red", weight=0]; 503[label="vuz33 == fromInt (Pos Zero)",fontsize=16,color="magenta"];503 -> 511[label="",style="dashed", color="magenta", weight=3]; 502[label="gcd1 vuz71 vuz38 vuz33",fontsize=16,color="burlywood",shape="triangle"];1514[label="vuz71/False",fontsize=10,color="white",style="solid",shape="box"];502 -> 1514[label="",style="solid", color="burlywood", weight=9]; 1514 -> 512[label="",style="solid", color="burlywood", weight=3]; 1515[label="vuz71/True",fontsize=10,color="white",style="solid",shape="box"];502 -> 1515[label="",style="solid", color="burlywood", weight=9]; 1515 -> 513[label="",style="solid", color="burlywood", weight=3]; 508[label="primDivNatS0 vuz3200 vuz6500 (primGEqNatS vuz3200 vuz6500)",fontsize=16,color="burlywood",shape="box"];1516[label="vuz3200/Succ vuz32000",fontsize=10,color="white",style="solid",shape="box"];508 -> 1516[label="",style="solid", color="burlywood", weight=9]; 1516 -> 523[label="",style="solid", color="burlywood", weight=3]; 1517[label="vuz3200/Zero",fontsize=10,color="white",style="solid",shape="box"];508 -> 1517[label="",style="solid", color="burlywood", weight=9]; 1517 -> 524[label="",style="solid", color="burlywood", weight=3]; 509[label="Zero",fontsize=16,color="green",shape="box"];361[label="vuz47",fontsize=16,color="green",shape="box"];362[label="vuz41",fontsize=16,color="green",shape="box"];363[label="vuz47",fontsize=16,color="green",shape="box"];364[label="vuz41",fontsize=16,color="green",shape="box"];365[label="Integer vuz51 `quot` gcd (Integer vuz52) (Integer vuz230 * Integer vuz210)",fontsize=16,color="black",shape="box"];365 -> 377[label="",style="solid", color="black", weight=3]; 366[label="vuz210",fontsize=16,color="green",shape="box"];367[label="vuz200",fontsize=16,color="green",shape="box"];368[label="vuz210",fontsize=16,color="green",shape="box"];369[label="vuz200",fontsize=16,color="green",shape="box"];370[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"];370 -> 378[label="",style="solid", color="black", weight=3]; 510[label="gcd0Gcd'2 (abs vuz38) (abs vuz33)",fontsize=16,color="black",shape="box"];510 -> 525[label="",style="solid", color="black", weight=3]; 511[label="vuz33",fontsize=16,color="green",shape="box"];512[label="gcd1 False vuz38 vuz33",fontsize=16,color="black",shape="box"];512 -> 526[label="",style="solid", color="black", weight=3]; 513[label="gcd1 True vuz38 vuz33",fontsize=16,color="black",shape="box"];513 -> 527[label="",style="solid", color="black", weight=3]; 523[label="primDivNatS0 (Succ vuz32000) vuz6500 (primGEqNatS (Succ vuz32000) vuz6500)",fontsize=16,color="burlywood",shape="box"];1518[label="vuz6500/Succ vuz65000",fontsize=10,color="white",style="solid",shape="box"];523 -> 1518[label="",style="solid", color="burlywood", weight=9]; 1518 -> 531[label="",style="solid", color="burlywood", weight=3]; 1519[label="vuz6500/Zero",fontsize=10,color="white",style="solid",shape="box"];523 -> 1519[label="",style="solid", color="burlywood", weight=9]; 1519 -> 532[label="",style="solid", color="burlywood", weight=3]; 524[label="primDivNatS0 Zero vuz6500 (primGEqNatS Zero vuz6500)",fontsize=16,color="burlywood",shape="box"];1520[label="vuz6500/Succ vuz65000",fontsize=10,color="white",style="solid",shape="box"];524 -> 1520[label="",style="solid", color="burlywood", weight=9]; 1520 -> 533[label="",style="solid", color="burlywood", weight=3]; 1521[label="vuz6500/Zero",fontsize=10,color="white",style="solid",shape="box"];524 -> 1521[label="",style="solid", color="burlywood", weight=9]; 1521 -> 534[label="",style="solid", color="burlywood", weight=3]; 377[label="Integer vuz51 `quot` gcd3 (Integer vuz52) (Integer vuz230 * Integer vuz210)",fontsize=16,color="black",shape="box"];377 -> 385[label="",style="solid", color="black", weight=3]; 378 -> 386[label="",style="dashed", color="red", weight=0]; 378[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"];378 -> 387[label="",style="dashed", color="magenta", weight=3]; 378 -> 388[label="",style="dashed", color="magenta", weight=3]; 525 -> 535[label="",style="dashed", color="red", weight=0]; 525[label="gcd0Gcd'1 (abs vuz33 == fromInt (Pos Zero)) (abs vuz38) (abs vuz33)",fontsize=16,color="magenta"];525 -> 536[label="",style="dashed", color="magenta", weight=3]; 526 -> 491[label="",style="dashed", color="red", weight=0]; 526[label="gcd0 vuz38 vuz33",fontsize=16,color="magenta"];527 -> 471[label="",style="dashed", color="red", weight=0]; 527[label="error []",fontsize=16,color="magenta"];531[label="primDivNatS0 (Succ vuz32000) (Succ vuz65000) (primGEqNatS (Succ vuz32000) (Succ vuz65000))",fontsize=16,color="black",shape="box"];531 -> 537[label="",style="solid", color="black", weight=3]; 532[label="primDivNatS0 (Succ vuz32000) Zero (primGEqNatS (Succ vuz32000) Zero)",fontsize=16,color="black",shape="box"];532 -> 538[label="",style="solid", color="black", weight=3]; 533[label="primDivNatS0 Zero (Succ vuz65000) (primGEqNatS Zero (Succ vuz65000))",fontsize=16,color="black",shape="box"];533 -> 539[label="",style="solid", color="black", weight=3]; 534[label="primDivNatS0 Zero Zero (primGEqNatS Zero Zero)",fontsize=16,color="black",shape="box"];534 -> 540[label="",style="solid", color="black", weight=3]; 385 -> 395[label="",style="dashed", color="red", weight=0]; 385[label="Integer vuz51 `quot` gcd2 (Integer vuz52 == fromInt (Pos Zero)) (Integer vuz52) (Integer vuz230 * Integer vuz210)",fontsize=16,color="magenta"];385 -> 396[label="",style="dashed", color="magenta", weight=3]; 387 -> 58[label="",style="dashed", color="red", weight=0]; 387[label="primMulInt vuz220 vuz230",fontsize=16,color="magenta"];387 -> 397[label="",style="dashed", color="magenta", weight=3]; 387 -> 398[label="",style="dashed", color="magenta", weight=3]; 388 -> 58[label="",style="dashed", color="red", weight=0]; 388[label="primMulInt vuz220 vuz230",fontsize=16,color="magenta"];388 -> 399[label="",style="dashed", color="magenta", weight=3]; 388 -> 400[label="",style="dashed", color="magenta", weight=3]; 386[label="Integer vuz43 `quot` gcd2 (Integer vuz54 + Integer vuz58 == fromInt (Pos Zero)) (Integer vuz53 + Integer vuz57) (Integer vuz44)",fontsize=16,color="black",shape="triangle"];386 -> 401[label="",style="solid", color="black", weight=3]; 536 -> 139[label="",style="dashed", color="red", weight=0]; 536[label="abs vuz33 == fromInt (Pos Zero)",fontsize=16,color="magenta"];536 -> 541[label="",style="dashed", color="magenta", weight=3]; 535[label="gcd0Gcd'1 vuz73 (abs vuz38) (abs vuz33)",fontsize=16,color="burlywood",shape="triangle"];1522[label="vuz73/False",fontsize=10,color="white",style="solid",shape="box"];535 -> 1522[label="",style="solid", color="burlywood", weight=9]; 1522 -> 542[label="",style="solid", color="burlywood", weight=3]; 1523[label="vuz73/True",fontsize=10,color="white",style="solid",shape="box"];535 -> 1523[label="",style="solid", color="burlywood", weight=9]; 1523 -> 543[label="",style="solid", color="burlywood", weight=3]; 537 -> 871[label="",style="dashed", color="red", weight=0]; 537[label="primDivNatS0 (Succ vuz32000) (Succ vuz65000) (primGEqNatS vuz32000 vuz65000)",fontsize=16,color="magenta"];537 -> 872[label="",style="dashed", color="magenta", weight=3]; 537 -> 873[label="",style="dashed", color="magenta", weight=3]; 537 -> 874[label="",style="dashed", color="magenta", weight=3]; 537 -> 875[label="",style="dashed", color="magenta", weight=3]; 538[label="primDivNatS0 (Succ vuz32000) Zero True",fontsize=16,color="black",shape="box"];538 -> 553[label="",style="solid", color="black", weight=3]; 539[label="primDivNatS0 Zero (Succ vuz65000) False",fontsize=16,color="black",shape="box"];539 -> 554[label="",style="solid", color="black", weight=3]; 540[label="primDivNatS0 Zero Zero True",fontsize=16,color="black",shape="box"];540 -> 555[label="",style="solid", color="black", weight=3]; 396 -> 1060[label="",style="dashed", color="red", weight=0]; 396[label="Integer vuz52 == fromInt (Pos Zero)",fontsize=16,color="magenta"];396 -> 1064[label="",style="dashed", color="magenta", weight=3]; 395[label="Integer vuz51 `quot` gcd2 vuz59 (Integer vuz52) (Integer vuz230 * Integer vuz210)",fontsize=16,color="burlywood",shape="triangle"];1524[label="vuz59/False",fontsize=10,color="white",style="solid",shape="box"];395 -> 1524[label="",style="solid", color="burlywood", weight=9]; 1524 -> 408[label="",style="solid", color="burlywood", weight=3]; 1525[label="vuz59/True",fontsize=10,color="white",style="solid",shape="box"];395 -> 1525[label="",style="solid", color="burlywood", weight=9]; 1525 -> 409[label="",style="solid", color="burlywood", weight=3]; 397[label="vuz230",fontsize=16,color="green",shape="box"];398[label="vuz220",fontsize=16,color="green",shape="box"];399[label="vuz230",fontsize=16,color="green",shape="box"];400[label="vuz220",fontsize=16,color="green",shape="box"];401 -> 410[label="",style="dashed", color="red", weight=0]; 401[label="Integer vuz43 `quot` gcd2 (Integer (primPlusInt vuz54 vuz58) == fromInt (Pos Zero)) (Integer (primPlusInt vuz54 vuz58)) (Integer vuz44)",fontsize=16,color="magenta"];401 -> 411[label="",style="dashed", color="magenta", weight=3]; 401 -> 412[label="",style="dashed", color="magenta", weight=3]; 541[label="abs vuz33",fontsize=16,color="black",shape="triangle"];541 -> 556[label="",style="solid", color="black", weight=3]; 542[label="gcd0Gcd'1 False (abs vuz38) (abs vuz33)",fontsize=16,color="black",shape="box"];542 -> 557[label="",style="solid", color="black", weight=3]; 543[label="gcd0Gcd'1 True (abs vuz38) (abs vuz33)",fontsize=16,color="black",shape="box"];543 -> 558[label="",style="solid", color="black", weight=3]; 872[label="vuz32000",fontsize=16,color="green",shape="box"];873[label="vuz65000",fontsize=16,color="green",shape="box"];874[label="vuz65000",fontsize=16,color="green",shape="box"];875[label="vuz32000",fontsize=16,color="green",shape="box"];871[label="primDivNatS0 (Succ vuz97) (Succ vuz98) (primGEqNatS vuz99 vuz100)",fontsize=16,color="burlywood",shape="triangle"];1526[label="vuz99/Succ vuz990",fontsize=10,color="white",style="solid",shape="box"];871 -> 1526[label="",style="solid", color="burlywood", weight=9]; 1526 -> 904[label="",style="solid", color="burlywood", weight=3]; 1527[label="vuz99/Zero",fontsize=10,color="white",style="solid",shape="box"];871 -> 1527[label="",style="solid", color="burlywood", weight=9]; 1527 -> 905[label="",style="solid", color="burlywood", weight=3]; 553[label="Succ (primDivNatS (primMinusNatS (Succ vuz32000) Zero) (Succ Zero))",fontsize=16,color="green",shape="box"];553 -> 568[label="",style="dashed", color="green", weight=3]; 554[label="Zero",fontsize=16,color="green",shape="box"];555[label="Succ (primDivNatS (primMinusNatS Zero Zero) (Succ Zero))",fontsize=16,color="green",shape="box"];555 -> 569[label="",style="dashed", color="green", weight=3]; 1064[label="Integer vuz52",fontsize=16,color="green",shape="box"];408[label="Integer vuz51 `quot` gcd2 False (Integer vuz52) (Integer vuz230 * Integer vuz210)",fontsize=16,color="black",shape="box"];408 -> 477[label="",style="solid", color="black", weight=3]; 409[label="Integer vuz51 `quot` gcd2 True (Integer vuz52) (Integer vuz230 * Integer vuz210)",fontsize=16,color="black",shape="box"];409 -> 478[label="",style="solid", color="black", weight=3]; 411 -> 1060[label="",style="dashed", color="red", weight=0]; 411[label="Integer (primPlusInt vuz54 vuz58) == fromInt (Pos Zero)",fontsize=16,color="magenta"];411 -> 1065[label="",style="dashed", color="magenta", weight=3]; 412 -> 254[label="",style="dashed", color="red", weight=0]; 412[label="primPlusInt vuz54 vuz58",fontsize=16,color="magenta"];412 -> 480[label="",style="dashed", color="magenta", weight=3]; 412 -> 481[label="",style="dashed", color="magenta", weight=3]; 410[label="Integer vuz43 `quot` gcd2 vuz60 (Integer vuz61) (Integer vuz44)",fontsize=16,color="burlywood",shape="triangle"];1528[label="vuz60/False",fontsize=10,color="white",style="solid",shape="box"];410 -> 1528[label="",style="solid", color="burlywood", weight=9]; 1528 -> 482[label="",style="solid", color="burlywood", weight=3]; 1529[label="vuz60/True",fontsize=10,color="white",style="solid",shape="box"];410 -> 1529[label="",style="solid", color="burlywood", weight=9]; 1529 -> 483[label="",style="solid", color="burlywood", weight=3]; 556[label="absReal vuz33",fontsize=16,color="black",shape="box"];556 -> 570[label="",style="solid", color="black", weight=3]; 557 -> 571[label="",style="dashed", color="red", weight=0]; 557[label="gcd0Gcd'0 (abs vuz38) (abs vuz33)",fontsize=16,color="magenta"];557 -> 572[label="",style="dashed", color="magenta", weight=3]; 557 -> 573[label="",style="dashed", color="magenta", weight=3]; 558 -> 541[label="",style="dashed", color="red", weight=0]; 558[label="abs vuz38",fontsize=16,color="magenta"];558 -> 574[label="",style="dashed", color="magenta", weight=3]; 904[label="primDivNatS0 (Succ vuz97) (Succ vuz98) (primGEqNatS (Succ vuz990) vuz100)",fontsize=16,color="burlywood",shape="box"];1530[label="vuz100/Succ vuz1000",fontsize=10,color="white",style="solid",shape="box"];904 -> 1530[label="",style="solid", color="burlywood", weight=9]; 1530 -> 916[label="",style="solid", color="burlywood", weight=3]; 1531[label="vuz100/Zero",fontsize=10,color="white",style="solid",shape="box"];904 -> 1531[label="",style="solid", color="burlywood", weight=9]; 1531 -> 917[label="",style="solid", color="burlywood", weight=3]; 905[label="primDivNatS0 (Succ vuz97) (Succ vuz98) (primGEqNatS Zero vuz100)",fontsize=16,color="burlywood",shape="box"];1532[label="vuz100/Succ vuz1000",fontsize=10,color="white",style="solid",shape="box"];905 -> 1532[label="",style="solid", color="burlywood", weight=9]; 1532 -> 918[label="",style="solid", color="burlywood", weight=3]; 1533[label="vuz100/Zero",fontsize=10,color="white",style="solid",shape="box"];905 -> 1533[label="",style="solid", color="burlywood", weight=9]; 1533 -> 919[label="",style="solid", color="burlywood", weight=3]; 568 -> 488[label="",style="dashed", color="red", weight=0]; 568[label="primDivNatS (primMinusNatS (Succ vuz32000) Zero) (Succ Zero)",fontsize=16,color="magenta"];568 -> 579[label="",style="dashed", color="magenta", weight=3]; 568 -> 580[label="",style="dashed", color="magenta", weight=3]; 569 -> 488[label="",style="dashed", color="red", weight=0]; 569[label="primDivNatS (primMinusNatS Zero Zero) (Succ Zero)",fontsize=16,color="magenta"];569 -> 581[label="",style="dashed", color="magenta", weight=3]; 569 -> 582[label="",style="dashed", color="magenta", weight=3]; 477[label="Integer vuz51 `quot` gcd0 (Integer vuz52) (Integer vuz230 * Integer vuz210)",fontsize=16,color="black",shape="triangle"];477 -> 493[label="",style="solid", color="black", weight=3]; 478 -> 494[label="",style="dashed", color="red", weight=0]; 478[label="Integer vuz51 `quot` gcd1 (Integer vuz230 * Integer vuz210 == fromInt (Pos Zero)) (Integer vuz52) (Integer vuz230 * Integer vuz210)",fontsize=16,color="magenta"];478 -> 495[label="",style="dashed", color="magenta", weight=3]; 1065[label="Integer (primPlusInt vuz54 vuz58)",fontsize=16,color="green",shape="box"];1065 -> 1073[label="",style="dashed", color="green", weight=3]; 480[label="vuz58",fontsize=16,color="green",shape="box"];481[label="vuz54",fontsize=16,color="green",shape="box"];482[label="Integer vuz43 `quot` gcd2 False (Integer vuz61) (Integer vuz44)",fontsize=16,color="black",shape="box"];482 -> 516[label="",style="solid", color="black", weight=3]; 483[label="Integer vuz43 `quot` gcd2 True (Integer vuz61) (Integer vuz44)",fontsize=16,color="black",shape="box"];483 -> 517[label="",style="solid", color="black", weight=3]; 570[label="absReal2 vuz33",fontsize=16,color="black",shape="box"];570 -> 583[label="",style="solid", color="black", weight=3]; 572 -> 541[label="",style="dashed", color="red", weight=0]; 572[label="abs vuz38",fontsize=16,color="magenta"];572 -> 584[label="",style="dashed", color="magenta", weight=3]; 573 -> 541[label="",style="dashed", color="red", weight=0]; 573[label="abs vuz33",fontsize=16,color="magenta"];571[label="gcd0Gcd'0 vuz75 vuz74",fontsize=16,color="black",shape="triangle"];571 -> 585[label="",style="solid", color="black", weight=3]; 574[label="vuz38",fontsize=16,color="green",shape="box"];916[label="primDivNatS0 (Succ vuz97) (Succ vuz98) (primGEqNatS (Succ vuz990) (Succ vuz1000))",fontsize=16,color="black",shape="box"];916 -> 929[label="",style="solid", color="black", weight=3]; 917[label="primDivNatS0 (Succ vuz97) (Succ vuz98) (primGEqNatS (Succ vuz990) Zero)",fontsize=16,color="black",shape="box"];917 -> 930[label="",style="solid", color="black", weight=3]; 918[label="primDivNatS0 (Succ vuz97) (Succ vuz98) (primGEqNatS Zero (Succ vuz1000))",fontsize=16,color="black",shape="box"];918 -> 931[label="",style="solid", color="black", weight=3]; 919[label="primDivNatS0 (Succ vuz97) (Succ vuz98) (primGEqNatS Zero Zero)",fontsize=16,color="black",shape="box"];919 -> 932[label="",style="solid", color="black", weight=3]; 579[label="primMinusNatS (Succ vuz32000) Zero",fontsize=16,color="black",shape="triangle"];579 -> 594[label="",style="solid", color="black", weight=3]; 580[label="Zero",fontsize=16,color="green",shape="box"];581[label="primMinusNatS Zero Zero",fontsize=16,color="black",shape="triangle"];581 -> 595[label="",style="solid", color="black", weight=3]; 582[label="Zero",fontsize=16,color="green",shape="box"];493[label="Integer vuz51 `quot` gcd0Gcd' (abs (Integer vuz52)) (abs (Integer vuz230 * Integer vuz210))",fontsize=16,color="black",shape="box"];493 -> 518[label="",style="solid", color="black", weight=3]; 495 -> 1060[label="",style="dashed", color="red", weight=0]; 495[label="Integer vuz230 * Integer vuz210 == fromInt (Pos Zero)",fontsize=16,color="magenta"];495 -> 1066[label="",style="dashed", color="magenta", weight=3]; 494[label="Integer vuz51 `quot` gcd1 vuz70 (Integer vuz52) (Integer vuz230 * Integer vuz210)",fontsize=16,color="burlywood",shape="triangle"];1534[label="vuz70/False",fontsize=10,color="white",style="solid",shape="box"];494 -> 1534[label="",style="solid", color="burlywood", weight=9]; 1534 -> 521[label="",style="solid", color="burlywood", weight=3]; 1535[label="vuz70/True",fontsize=10,color="white",style="solid",shape="box"];494 -> 1535[label="",style="solid", color="burlywood", weight=9]; 1535 -> 522[label="",style="solid", color="burlywood", weight=3]; 1073 -> 254[label="",style="dashed", color="red", weight=0]; 1073[label="primPlusInt vuz54 vuz58",fontsize=16,color="magenta"];1073 -> 1081[label="",style="dashed", color="magenta", weight=3]; 1073 -> 1082[label="",style="dashed", color="magenta", weight=3]; 516[label="Integer vuz43 `quot` gcd0 (Integer vuz61) (Integer vuz44)",fontsize=16,color="black",shape="triangle"];516 -> 528[label="",style="solid", color="black", weight=3]; 517 -> 529[label="",style="dashed", color="red", weight=0]; 517[label="Integer vuz43 `quot` gcd1 (Integer vuz44 == fromInt (Pos Zero)) (Integer vuz61) (Integer vuz44)",fontsize=16,color="magenta"];517 -> 530[label="",style="dashed", color="magenta", weight=3]; 583[label="absReal1 vuz33 (vuz33 >= fromInt (Pos Zero))",fontsize=16,color="black",shape="box"];583 -> 596[label="",style="solid", color="black", weight=3]; 584[label="vuz38",fontsize=16,color="green",shape="box"];585[label="gcd0Gcd' vuz74 (vuz75 `rem` vuz74)",fontsize=16,color="black",shape="box"];585 -> 597[label="",style="solid", color="black", weight=3]; 929 -> 871[label="",style="dashed", color="red", weight=0]; 929[label="primDivNatS0 (Succ vuz97) (Succ vuz98) (primGEqNatS vuz990 vuz1000)",fontsize=16,color="magenta"];929 -> 941[label="",style="dashed", color="magenta", weight=3]; 929 -> 942[label="",style="dashed", color="magenta", weight=3]; 930[label="primDivNatS0 (Succ vuz97) (Succ vuz98) True",fontsize=16,color="black",shape="triangle"];930 -> 943[label="",style="solid", color="black", weight=3]; 931[label="primDivNatS0 (Succ vuz97) (Succ vuz98) False",fontsize=16,color="black",shape="box"];931 -> 944[label="",style="solid", color="black", weight=3]; 932 -> 930[label="",style="dashed", color="red", weight=0]; 932[label="primDivNatS0 (Succ vuz97) (Succ vuz98) True",fontsize=16,color="magenta"];594[label="Succ vuz32000",fontsize=16,color="green",shape="box"];595[label="Zero",fontsize=16,color="green",shape="box"];518[label="Integer vuz51 `quot` gcd0Gcd'2 (abs (Integer vuz52)) (abs (Integer vuz230 * Integer vuz210))",fontsize=16,color="black",shape="box"];518 -> 544[label="",style="solid", color="black", weight=3]; 1066 -> 1061[label="",style="dashed", color="red", weight=0]; 1066[label="Integer vuz230 * Integer vuz210",fontsize=16,color="magenta"];1066 -> 1074[label="",style="dashed", color="magenta", weight=3]; 1066 -> 1075[label="",style="dashed", color="magenta", weight=3]; 521[label="Integer vuz51 `quot` gcd1 False (Integer vuz52) (Integer vuz230 * Integer vuz210)",fontsize=16,color="black",shape="box"];521 -> 545[label="",style="solid", color="black", weight=3]; 522[label="Integer vuz51 `quot` gcd1 True (Integer vuz52) (Integer vuz230 * Integer vuz210)",fontsize=16,color="black",shape="box"];522 -> 546[label="",style="solid", color="black", weight=3]; 1081[label="vuz58",fontsize=16,color="green",shape="box"];1082[label="vuz54",fontsize=16,color="green",shape="box"];528[label="Integer vuz43 `quot` gcd0Gcd' (abs (Integer vuz61)) (abs (Integer vuz44))",fontsize=16,color="black",shape="box"];528 -> 547[label="",style="solid", color="black", weight=3]; 530 -> 1060[label="",style="dashed", color="red", weight=0]; 530[label="Integer vuz44 == fromInt (Pos Zero)",fontsize=16,color="magenta"];530 -> 1067[label="",style="dashed", color="magenta", weight=3]; 529[label="Integer vuz43 `quot` gcd1 vuz72 (Integer vuz61) (Integer vuz44)",fontsize=16,color="burlywood",shape="triangle"];1536[label="vuz72/False",fontsize=10,color="white",style="solid",shape="box"];529 -> 1536[label="",style="solid", color="burlywood", weight=9]; 1536 -> 549[label="",style="solid", color="burlywood", weight=3]; 1537[label="vuz72/True",fontsize=10,color="white",style="solid",shape="box"];529 -> 1537[label="",style="solid", color="burlywood", weight=9]; 1537 -> 550[label="",style="solid", color="burlywood", 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]; 941[label="vuz1000",fontsize=16,color="green",shape="box"];942[label="vuz990",fontsize=16,color="green",shape="box"];943[label="Succ (primDivNatS (primMinusNatS (Succ vuz97) (Succ vuz98)) (Succ (Succ vuz98)))",fontsize=16,color="green",shape="box"];943 -> 1018[label="",style="dashed", color="green", weight=3]; 944[label="Zero",fontsize=16,color="green",shape="box"];544 -> 1043[label="",style="dashed", color="red", weight=0]; 544[label="Integer vuz51 `quot` gcd0Gcd'1 (abs (Integer vuz230 * Integer vuz210) == fromInt (Pos Zero)) (abs (Integer vuz52)) (abs (Integer vuz230 * Integer vuz210))",fontsize=16,color="magenta"];544 -> 1044[label="",style="dashed", color="magenta", weight=3]; 544 -> 1045[label="",style="dashed", color="magenta", weight=3]; 544 -> 1046[label="",style="dashed", color="magenta", weight=3]; 1074[label="Integer vuz230",fontsize=16,color="green",shape="box"];1075[label="Integer vuz210",fontsize=16,color="green",shape="box"];545 -> 477[label="",style="dashed", color="red", weight=0]; 545[label="Integer vuz51 `quot` gcd0 (Integer vuz52) (Integer vuz230 * Integer vuz210)",fontsize=16,color="magenta"];546[label="Integer vuz51 `quot` error []",fontsize=16,color="black",shape="triangle"];546 -> 560[label="",style="solid", color="black", weight=3]; 547[label="Integer vuz43 `quot` gcd0Gcd'2 (abs (Integer vuz61)) (abs (Integer vuz44))",fontsize=16,color="black",shape="box"];547 -> 561[label="",style="solid", color="black", weight=3]; 1067[label="Integer vuz44",fontsize=16,color="green",shape="box"];549[label="Integer vuz43 `quot` gcd1 False (Integer vuz61) (Integer vuz44)",fontsize=16,color="black",shape="box"];549 -> 562[label="",style="solid", color="black", weight=3]; 550[label="Integer vuz43 `quot` gcd1 True (Integer vuz61) (Integer vuz44)",fontsize=16,color="black",shape="box"];550 -> 563[label="",style="solid", color="black", weight=3]; 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]; 1018 -> 488[label="",style="dashed", color="red", weight=0]; 1018[label="primDivNatS (primMinusNatS (Succ vuz97) (Succ vuz98)) (Succ (Succ vuz98))",fontsize=16,color="magenta"];1018 -> 1030[label="",style="dashed", color="magenta", weight=3]; 1018 -> 1031[label="",style="dashed", color="magenta", weight=3]; 1044 -> 1060[label="",style="dashed", color="red", weight=0]; 1044[label="abs (Integer vuz230 * Integer vuz210) == fromInt (Pos Zero)",fontsize=16,color="magenta"];1044 -> 1068[label="",style="dashed", color="magenta", weight=3]; 1045[label="abs (Integer vuz230 * Integer vuz210)",fontsize=16,color="black",shape="triangle"];1045 -> 1056[label="",style="solid", color="black", weight=3]; 1046[label="abs (Integer vuz52)",fontsize=16,color="black",shape="triangle"];1046 -> 1057[label="",style="solid", color="black", weight=3]; 1043[label="Integer vuz51 `quot` gcd0Gcd'1 vuz105 vuz104 vuz102",fontsize=16,color="burlywood",shape="triangle"];1538[label="vuz105/False",fontsize=10,color="white",style="solid",shape="box"];1043 -> 1538[label="",style="solid", color="burlywood", weight=9]; 1538 -> 1058[label="",style="solid", color="burlywood", weight=3]; 1539[label="vuz105/True",fontsize=10,color="white",style="solid",shape="box"];1043 -> 1539[label="",style="solid", color="burlywood", weight=9]; 1539 -> 1059[label="",style="solid", color="burlywood", weight=3]; 560[label="error []",fontsize=16,color="red",shape="box"];561 -> 1043[label="",style="dashed", color="red", weight=0]; 561[label="Integer vuz43 `quot` gcd0Gcd'1 (abs (Integer vuz44) == fromInt (Pos Zero)) (abs (Integer vuz61)) (abs (Integer vuz44))",fontsize=16,color="magenta"];561 -> 1049[label="",style="dashed", color="magenta", weight=3]; 561 -> 1050[label="",style="dashed", color="magenta", weight=3]; 561 -> 1051[label="",style="dashed", color="magenta", weight=3]; 561 -> 1052[label="",style="dashed", color="magenta", weight=3]; 562 -> 516[label="",style="dashed", color="red", weight=0]; 562[label="Integer vuz43 `quot` gcd0 (Integer vuz61) (Integer vuz44)",fontsize=16,color="magenta"];563 -> 546[label="",style="dashed", color="red", weight=0]; 563[label="Integer vuz43 `quot` error []",fontsize=16,color="magenta"];563 -> 588[label="",style="dashed", color="magenta", weight=3]; 618[label="absReal1 vuz33 (not (primCmpInt vuz33 (fromInt (Pos Zero)) == LT))",fontsize=16,color="burlywood",shape="box"];1540[label="vuz33/Pos vuz330",fontsize=10,color="white",style="solid",shape="box"];618 -> 1540[label="",style="solid", color="burlywood", weight=9]; 1540 -> 628[label="",style="solid", color="burlywood", weight=3]; 1541[label="vuz33/Neg vuz330",fontsize=10,color="white",style="solid",shape="box"];618 -> 1541[label="",style="solid", color="burlywood", weight=9]; 1541 -> 629[label="",style="solid", color="burlywood", weight=3]; 620 -> 139[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"];1542[label="vuz76/False",fontsize=10,color="white",style="solid",shape="box"];619 -> 1542[label="",style="solid", color="burlywood", weight=9]; 1542 -> 631[label="",style="solid", color="burlywood", weight=3]; 1543[label="vuz76/True",fontsize=10,color="white",style="solid",shape="box"];619 -> 1543[label="",style="solid", color="burlywood", weight=9]; 1543 -> 632[label="",style="solid", color="burlywood", weight=3]; 1030[label="primMinusNatS (Succ vuz97) (Succ vuz98)",fontsize=16,color="black",shape="box"];1030 -> 1041[label="",style="solid", color="black", weight=3]; 1031[label="Succ vuz98",fontsize=16,color="green",shape="box"];1068 -> 1045[label="",style="dashed", color="red", weight=0]; 1068[label="abs (Integer vuz230 * Integer vuz210)",fontsize=16,color="magenta"];1056 -> 1076[label="",style="dashed", color="red", weight=0]; 1056[label="absReal (Integer vuz230 * Integer vuz210)",fontsize=16,color="magenta"];1056 -> 1077[label="",style="dashed", color="magenta", weight=3]; 1057 -> 1076[label="",style="dashed", color="red", weight=0]; 1057[label="absReal (Integer vuz52)",fontsize=16,color="magenta"];1057 -> 1078[label="",style="dashed", color="magenta", weight=3]; 1058[label="Integer vuz51 `quot` gcd0Gcd'1 False vuz104 vuz102",fontsize=16,color="black",shape="box"];1058 -> 1083[label="",style="solid", color="black", weight=3]; 1059[label="Integer vuz51 `quot` gcd0Gcd'1 True vuz104 vuz102",fontsize=16,color="black",shape="box"];1059 -> 1084[label="",style="solid", color="black", weight=3]; 1049 -> 1060[label="",style="dashed", color="red", weight=0]; 1049[label="abs (Integer vuz44) == fromInt (Pos Zero)",fontsize=16,color="magenta"];1049 -> 1070[label="",style="dashed", color="magenta", weight=3]; 1050 -> 1046[label="",style="dashed", color="red", weight=0]; 1050[label="abs (Integer vuz44)",fontsize=16,color="magenta"];1050 -> 1085[label="",style="dashed", color="magenta", weight=3]; 1051 -> 1046[label="",style="dashed", color="red", weight=0]; 1051[label="abs (Integer vuz61)",fontsize=16,color="magenta"];1051 -> 1086[label="",style="dashed", color="magenta", weight=3]; 1052[label="vuz43",fontsize=16,color="green",shape="box"];588[label="vuz43",fontsize=16,color="green",shape="box"];628[label="absReal1 (Pos vuz330) (not (primCmpInt (Pos vuz330) (fromInt (Pos Zero)) == LT))",fontsize=16,color="burlywood",shape="box"];1544[label="vuz330/Succ vuz3300",fontsize=10,color="white",style="solid",shape="box"];628 -> 1544[label="",style="solid", color="burlywood", weight=9]; 1544 -> 642[label="",style="solid", color="burlywood", weight=3]; 1545[label="vuz330/Zero",fontsize=10,color="white",style="solid",shape="box"];628 -> 1545[label="",style="solid", color="burlywood", weight=9]; 1545 -> 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"];1546[label="vuz330/Succ vuz3300",fontsize=10,color="white",style="solid",shape="box"];629 -> 1546[label="",style="solid", color="burlywood", weight=9]; 1546 -> 644[label="",style="solid", color="burlywood", weight=3]; 1547[label="vuz330/Zero",fontsize=10,color="white",style="solid",shape="box"];629 -> 1547[label="",style="solid", color="burlywood", weight=9]; 1547 -> 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]; 1041[label="primMinusNatS vuz97 vuz98",fontsize=16,color="burlywood",shape="triangle"];1548[label="vuz97/Succ vuz970",fontsize=10,color="white",style="solid",shape="box"];1041 -> 1548[label="",style="solid", color="burlywood", weight=9]; 1548 -> 1087[label="",style="solid", color="burlywood", weight=3]; 1549[label="vuz97/Zero",fontsize=10,color="white",style="solid",shape="box"];1041 -> 1549[label="",style="solid", color="burlywood", weight=9]; 1549 -> 1088[label="",style="solid", color="burlywood", weight=3]; 1077 -> 1061[label="",style="dashed", color="red", weight=0]; 1077[label="Integer vuz230 * Integer vuz210",fontsize=16,color="magenta"];1077 -> 1089[label="",style="dashed", color="magenta", weight=3]; 1077 -> 1090[label="",style="dashed", color="magenta", weight=3]; 1076[label="absReal vuz107",fontsize=16,color="black",shape="triangle"];1076 -> 1091[label="",style="solid", color="black", weight=3]; 1078[label="Integer vuz52",fontsize=16,color="green",shape="box"];1083[label="Integer vuz51 `quot` gcd0Gcd'0 vuz104 vuz102",fontsize=16,color="black",shape="box"];1083 -> 1104[label="",style="solid", color="black", weight=3]; 1084[label="Integer vuz51 `quot` vuz104",fontsize=16,color="burlywood",shape="triangle"];1550[label="vuz104/Integer vuz1040",fontsize=10,color="white",style="solid",shape="box"];1084 -> 1550[label="",style="solid", color="burlywood", weight=9]; 1550 -> 1105[label="",style="solid", color="burlywood", weight=3]; 1070 -> 1046[label="",style="dashed", color="red", weight=0]; 1070[label="abs (Integer vuz44)",fontsize=16,color="magenta"];1070 -> 1092[label="",style="dashed", color="magenta", weight=3]; 1085[label="vuz44",fontsize=16,color="green",shape="box"];1086[label="vuz61",fontsize=16,color="green",shape="box"];642[label="absReal1 (Pos (Succ vuz3300)) (not (primCmpInt (Pos (Succ vuz3300)) (fromInt (Pos Zero)) == LT))",fontsize=16,color="black",shape="box"];642 -> 659[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 -> 660[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 -> 661[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 -> 662[label="",style="solid", color="black", weight=3]; 646[label="primRemInt vuz75 vuz74",fontsize=16,color="burlywood",shape="triangle"];1551[label="vuz75/Pos vuz750",fontsize=10,color="white",style="solid",shape="box"];646 -> 1551[label="",style="solid", color="burlywood", weight=9]; 1551 -> 663[label="",style="solid", color="burlywood", weight=3]; 1552[label="vuz75/Neg vuz750",fontsize=10,color="white",style="solid",shape="box"];646 -> 1552[label="",style="solid", color="burlywood", weight=9]; 1552 -> 664[label="",style="solid", color="burlywood", weight=3]; 647 -> 571[label="",style="dashed", color="red", weight=0]; 647[label="gcd0Gcd'0 vuz74 (vuz75 `rem` vuz74)",fontsize=16,color="magenta"];647 -> 665[label="",style="dashed", color="magenta", weight=3]; 647 -> 666[label="",style="dashed", color="magenta", weight=3]; 648[label="vuz74",fontsize=16,color="green",shape="box"];1087[label="primMinusNatS (Succ vuz970) vuz98",fontsize=16,color="burlywood",shape="box"];1553[label="vuz98/Succ vuz980",fontsize=10,color="white",style="solid",shape="box"];1087 -> 1553[label="",style="solid", color="burlywood", weight=9]; 1553 -> 1106[label="",style="solid", color="burlywood", weight=3]; 1554[label="vuz98/Zero",fontsize=10,color="white",style="solid",shape="box"];1087 -> 1554[label="",style="solid", color="burlywood", weight=9]; 1554 -> 1107[label="",style="solid", color="burlywood", weight=3]; 1088[label="primMinusNatS Zero vuz98",fontsize=16,color="burlywood",shape="box"];1555[label="vuz98/Succ vuz980",fontsize=10,color="white",style="solid",shape="box"];1088 -> 1555[label="",style="solid", color="burlywood", weight=9]; 1555 -> 1108[label="",style="solid", color="burlywood", weight=3]; 1556[label="vuz98/Zero",fontsize=10,color="white",style="solid",shape="box"];1088 -> 1556[label="",style="solid", color="burlywood", weight=9]; 1556 -> 1109[label="",style="solid", color="burlywood", weight=3]; 1089[label="Integer vuz230",fontsize=16,color="green",shape="box"];1090[label="Integer vuz210",fontsize=16,color="green",shape="box"];1091[label="absReal2 vuz107",fontsize=16,color="black",shape="box"];1091 -> 1110[label="",style="solid", color="black", weight=3]; 1104 -> 1084[label="",style="dashed", color="red", weight=0]; 1104[label="Integer vuz51 `quot` gcd0Gcd' vuz102 (vuz104 `rem` vuz102)",fontsize=16,color="magenta"];1104 -> 1122[label="",style="dashed", color="magenta", weight=3]; 1105[label="Integer vuz51 `quot` Integer vuz1040",fontsize=16,color="black",shape="box"];1105 -> 1123[label="",style="solid", color="black", weight=3]; 1092[label="vuz44",fontsize=16,color="green",shape="box"];659[label="absReal1 (Pos (Succ vuz3300)) (not (primCmpInt (Pos (Succ vuz3300)) (Pos Zero) == LT))",fontsize=16,color="black",shape="box"];659 -> 685[label="",style="solid", color="black", weight=3]; 660[label="absReal1 (Pos Zero) (not (primCmpInt (Pos Zero) (Pos Zero) == LT))",fontsize=16,color="black",shape="box"];660 -> 686[label="",style="solid", color="black", weight=3]; 661[label="absReal1 (Neg (Succ vuz3300)) (not (primCmpInt (Neg (Succ vuz3300)) (Pos Zero) == LT))",fontsize=16,color="black",shape="box"];661 -> 687[label="",style="solid", color="black", weight=3]; 662[label="absReal1 (Neg Zero) (not (primCmpInt (Neg Zero) (Pos Zero) == LT))",fontsize=16,color="black",shape="box"];662 -> 688[label="",style="solid", color="black", weight=3]; 663[label="primRemInt (Pos vuz750) vuz74",fontsize=16,color="burlywood",shape="box"];1557[label="vuz74/Pos vuz740",fontsize=10,color="white",style="solid",shape="box"];663 -> 1557[label="",style="solid", color="burlywood", weight=9]; 1557 -> 689[label="",style="solid", color="burlywood", weight=3]; 1558[label="vuz74/Neg vuz740",fontsize=10,color="white",style="solid",shape="box"];663 -> 1558[label="",style="solid", color="burlywood", weight=9]; 1558 -> 690[label="",style="solid", color="burlywood", weight=3]; 664[label="primRemInt (Neg vuz750) vuz74",fontsize=16,color="burlywood",shape="box"];1559[label="vuz74/Pos vuz740",fontsize=10,color="white",style="solid",shape="box"];664 -> 1559[label="",style="solid", color="burlywood", weight=9]; 1559 -> 691[label="",style="solid", color="burlywood", weight=3]; 1560[label="vuz74/Neg vuz740",fontsize=10,color="white",style="solid",shape="box"];664 -> 1560[label="",style="solid", color="burlywood", weight=9]; 1560 -> 692[label="",style="solid", color="burlywood", weight=3]; 665[label="vuz74",fontsize=16,color="green",shape="box"];666 -> 630[label="",style="dashed", color="red", weight=0]; 666[label="vuz75 `rem` vuz74",fontsize=16,color="magenta"];1106[label="primMinusNatS (Succ vuz970) (Succ vuz980)",fontsize=16,color="black",shape="box"];1106 -> 1124[label="",style="solid", color="black", weight=3]; 1107[label="primMinusNatS (Succ vuz970) Zero",fontsize=16,color="black",shape="box"];1107 -> 1125[label="",style="solid", color="black", weight=3]; 1108[label="primMinusNatS Zero (Succ vuz980)",fontsize=16,color="black",shape="box"];1108 -> 1126[label="",style="solid", color="black", weight=3]; 1109[label="primMinusNatS Zero Zero",fontsize=16,color="black",shape="box"];1109 -> 1127[label="",style="solid", color="black", weight=3]; 1110[label="absReal1 vuz107 (vuz107 >= fromInt (Pos Zero))",fontsize=16,color="black",shape="box"];1110 -> 1128[label="",style="solid", color="black", weight=3]; 1122[label="gcd0Gcd' vuz102 (vuz104 `rem` vuz102)",fontsize=16,color="black",shape="triangle"];1122 -> 1143[label="",style="solid", color="black", weight=3]; 1123[label="Integer (primQuotInt vuz51 vuz1040)",fontsize=16,color="green",shape="box"];1123 -> 1144[label="",style="dashed", color="green", weight=3]; 685[label="absReal1 (Pos (Succ vuz3300)) (not (primCmpNat (Succ vuz3300) Zero == LT))",fontsize=16,color="black",shape="box"];685 -> 709[label="",style="solid", color="black", weight=3]; 686[label="absReal1 (Pos Zero) (not (EQ == LT))",fontsize=16,color="black",shape="box"];686 -> 710[label="",style="solid", color="black", weight=3]; 687[label="absReal1 (Neg (Succ vuz3300)) (not (LT == LT))",fontsize=16,color="black",shape="box"];687 -> 711[label="",style="solid", color="black", weight=3]; 688[label="absReal1 (Neg Zero) (not (EQ == LT))",fontsize=16,color="black",shape="box"];688 -> 712[label="",style="solid", color="black", weight=3]; 689[label="primRemInt (Pos vuz750) (Pos vuz740)",fontsize=16,color="burlywood",shape="box"];1561[label="vuz740/Succ vuz7400",fontsize=10,color="white",style="solid",shape="box"];689 -> 1561[label="",style="solid", color="burlywood", weight=9]; 1561 -> 713[label="",style="solid", color="burlywood", weight=3]; 1562[label="vuz740/Zero",fontsize=10,color="white",style="solid",shape="box"];689 -> 1562[label="",style="solid", color="burlywood", weight=9]; 1562 -> 714[label="",style="solid", color="burlywood", weight=3]; 690[label="primRemInt (Pos vuz750) (Neg vuz740)",fontsize=16,color="burlywood",shape="box"];1563[label="vuz740/Succ vuz7400",fontsize=10,color="white",style="solid",shape="box"];690 -> 1563[label="",style="solid", color="burlywood", weight=9]; 1563 -> 715[label="",style="solid", color="burlywood", weight=3]; 1564[label="vuz740/Zero",fontsize=10,color="white",style="solid",shape="box"];690 -> 1564[label="",style="solid", color="burlywood", weight=9]; 1564 -> 716[label="",style="solid", color="burlywood", weight=3]; 691[label="primRemInt (Neg vuz750) (Pos vuz740)",fontsize=16,color="burlywood",shape="box"];1565[label="vuz740/Succ vuz7400",fontsize=10,color="white",style="solid",shape="box"];691 -> 1565[label="",style="solid", color="burlywood", weight=9]; 1565 -> 717[label="",style="solid", color="burlywood", weight=3]; 1566[label="vuz740/Zero",fontsize=10,color="white",style="solid",shape="box"];691 -> 1566[label="",style="solid", color="burlywood", weight=9]; 1566 -> 718[label="",style="solid", color="burlywood", weight=3]; 692[label="primRemInt (Neg vuz750) (Neg vuz740)",fontsize=16,color="burlywood",shape="box"];1567[label="vuz740/Succ vuz7400",fontsize=10,color="white",style="solid",shape="box"];692 -> 1567[label="",style="solid", color="burlywood", weight=9]; 1567 -> 719[label="",style="solid", color="burlywood", weight=3]; 1568[label="vuz740/Zero",fontsize=10,color="white",style="solid",shape="box"];692 -> 1568[label="",style="solid", color="burlywood", weight=9]; 1568 -> 720[label="",style="solid", color="burlywood", weight=3]; 1124 -> 1041[label="",style="dashed", color="red", weight=0]; 1124[label="primMinusNatS vuz970 vuz980",fontsize=16,color="magenta"];1124 -> 1145[label="",style="dashed", color="magenta", weight=3]; 1124 -> 1146[label="",style="dashed", color="magenta", weight=3]; 1125[label="Succ vuz970",fontsize=16,color="green",shape="box"];1126[label="Zero",fontsize=16,color="green",shape="box"];1127[label="Zero",fontsize=16,color="green",shape="box"];1128[label="absReal1 vuz107 (compare vuz107 (fromInt (Pos Zero)) /= LT)",fontsize=16,color="black",shape="box"];1128 -> 1147[label="",style="solid", color="black", weight=3]; 1143[label="gcd0Gcd'2 vuz102 (vuz104 `rem` vuz102)",fontsize=16,color="black",shape="box"];1143 -> 1157[label="",style="solid", color="black", weight=3]; 1144[label="primQuotInt vuz51 vuz1040",fontsize=16,color="burlywood",shape="box"];1569[label="vuz51/Pos vuz510",fontsize=10,color="white",style="solid",shape="box"];1144 -> 1569[label="",style="solid", color="burlywood", weight=9]; 1569 -> 1158[label="",style="solid", color="burlywood", weight=3]; 1570[label="vuz51/Neg vuz510",fontsize=10,color="white",style="solid",shape="box"];1144 -> 1570[label="",style="solid", color="burlywood", weight=9]; 1570 -> 1159[label="",style="solid", color="burlywood", weight=3]; 709[label="absReal1 (Pos (Succ vuz3300)) (not (GT == LT))",fontsize=16,color="black",shape="box"];709 -> 730[label="",style="solid", color="black", weight=3]; 710[label="absReal1 (Pos Zero) (not False)",fontsize=16,color="black",shape="box"];710 -> 731[label="",style="solid", color="black", weight=3]; 711[label="absReal1 (Neg (Succ vuz3300)) (not True)",fontsize=16,color="black",shape="box"];711 -> 732[label="",style="solid", color="black", weight=3]; 712[label="absReal1 (Neg Zero) (not False)",fontsize=16,color="black",shape="box"];712 -> 733[label="",style="solid", color="black", weight=3]; 713[label="primRemInt (Pos vuz750) (Pos (Succ vuz7400))",fontsize=16,color="black",shape="box"];713 -> 734[label="",style="solid", color="black", weight=3]; 714[label="primRemInt (Pos vuz750) (Pos Zero)",fontsize=16,color="black",shape="box"];714 -> 735[label="",style="solid", color="black", weight=3]; 715[label="primRemInt (Pos vuz750) (Neg (Succ vuz7400))",fontsize=16,color="black",shape="box"];715 -> 736[label="",style="solid", color="black", weight=3]; 716[label="primRemInt (Pos vuz750) (Neg Zero)",fontsize=16,color="black",shape="box"];716 -> 737[label="",style="solid", color="black", weight=3]; 717[label="primRemInt (Neg vuz750) (Pos (Succ vuz7400))",fontsize=16,color="black",shape="box"];717 -> 738[label="",style="solid", color="black", weight=3]; 718[label="primRemInt (Neg vuz750) (Pos Zero)",fontsize=16,color="black",shape="box"];718 -> 739[label="",style="solid", color="black", weight=3]; 719[label="primRemInt (Neg vuz750) (Neg (Succ vuz7400))",fontsize=16,color="black",shape="box"];719 -> 740[label="",style="solid", color="black", weight=3]; 720[label="primRemInt (Neg vuz750) (Neg Zero)",fontsize=16,color="black",shape="box"];720 -> 741[label="",style="solid", color="black", weight=3]; 1145[label="vuz970",fontsize=16,color="green",shape="box"];1146[label="vuz980",fontsize=16,color="green",shape="box"];1147[label="absReal1 vuz107 (not (compare vuz107 (fromInt (Pos Zero)) == LT))",fontsize=16,color="burlywood",shape="box"];1571[label="vuz107/Integer vuz1070",fontsize=10,color="white",style="solid",shape="box"];1147 -> 1571[label="",style="solid", color="burlywood", weight=9]; 1571 -> 1160[label="",style="solid", color="burlywood", weight=3]; 1157 -> 1169[label="",style="dashed", color="red", weight=0]; 1157[label="gcd0Gcd'1 (vuz104 `rem` vuz102 == fromInt (Pos Zero)) vuz102 (vuz104 `rem` vuz102)",fontsize=16,color="magenta"];1157 -> 1170[label="",style="dashed", color="magenta", weight=3]; 1158[label="primQuotInt (Pos vuz510) vuz1040",fontsize=16,color="burlywood",shape="box"];1572[label="vuz1040/Pos vuz10400",fontsize=10,color="white",style="solid",shape="box"];1158 -> 1572[label="",style="solid", color="burlywood", weight=9]; 1572 -> 1171[label="",style="solid", color="burlywood", weight=3]; 1573[label="vuz1040/Neg vuz10400",fontsize=10,color="white",style="solid",shape="box"];1158 -> 1573[label="",style="solid", color="burlywood", weight=9]; 1573 -> 1172[label="",style="solid", color="burlywood", weight=3]; 1159[label="primQuotInt (Neg vuz510) vuz1040",fontsize=16,color="burlywood",shape="box"];1574[label="vuz1040/Pos vuz10400",fontsize=10,color="white",style="solid",shape="box"];1159 -> 1574[label="",style="solid", color="burlywood", weight=9]; 1574 -> 1173[label="",style="solid", color="burlywood", weight=3]; 1575[label="vuz1040/Neg vuz10400",fontsize=10,color="white",style="solid",shape="box"];1159 -> 1575[label="",style="solid", color="burlywood", weight=9]; 1575 -> 1174[label="",style="solid", color="burlywood", weight=3]; 730[label="absReal1 (Pos (Succ vuz3300)) (not False)",fontsize=16,color="black",shape="box"];730 -> 751[label="",style="solid", color="black", weight=3]; 731[label="absReal1 (Pos Zero) True",fontsize=16,color="black",shape="box"];731 -> 752[label="",style="solid", color="black", weight=3]; 732[label="absReal1 (Neg (Succ vuz3300)) False",fontsize=16,color="black",shape="box"];732 -> 753[label="",style="solid", color="black", weight=3]; 733[label="absReal1 (Neg Zero) True",fontsize=16,color="black",shape="box"];733 -> 754[label="",style="solid", color="black", weight=3]; 734[label="Pos (primModNatS vuz750 (Succ vuz7400))",fontsize=16,color="green",shape="box"];734 -> 755[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 -> 756[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 -> 757[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 -> 758[label="",style="dashed", color="green", weight=3]; 741 -> 471[label="",style="dashed", color="red", weight=0]; 741[label="error []",fontsize=16,color="magenta"];1160[label="absReal1 (Integer vuz1070) (not (compare (Integer vuz1070) (fromInt (Pos Zero)) == LT))",fontsize=16,color="black",shape="box"];1160 -> 1175[label="",style="solid", color="black", weight=3]; 1170 -> 1060[label="",style="dashed", color="red", weight=0]; 1170[label="vuz104 `rem` vuz102 == fromInt (Pos Zero)",fontsize=16,color="magenta"];1170 -> 1176[label="",style="dashed", color="magenta", weight=3]; 1169[label="gcd0Gcd'1 vuz108 vuz102 (vuz104 `rem` vuz102)",fontsize=16,color="burlywood",shape="triangle"];1576[label="vuz108/False",fontsize=10,color="white",style="solid",shape="box"];1169 -> 1576[label="",style="solid", color="burlywood", weight=9]; 1576 -> 1177[label="",style="solid", color="burlywood", weight=3]; 1577[label="vuz108/True",fontsize=10,color="white",style="solid",shape="box"];1169 -> 1577[label="",style="solid", color="burlywood", weight=9]; 1577 -> 1178[label="",style="solid", color="burlywood", weight=3]; 1171[label="primQuotInt (Pos vuz510) (Pos vuz10400)",fontsize=16,color="burlywood",shape="box"];1578[label="vuz10400/Succ vuz104000",fontsize=10,color="white",style="solid",shape="box"];1171 -> 1578[label="",style="solid", color="burlywood", weight=9]; 1578 -> 1187[label="",style="solid", color="burlywood", weight=3]; 1579[label="vuz10400/Zero",fontsize=10,color="white",style="solid",shape="box"];1171 -> 1579[label="",style="solid", color="burlywood", weight=9]; 1579 -> 1188[label="",style="solid", color="burlywood", weight=3]; 1172[label="primQuotInt (Pos vuz510) (Neg vuz10400)",fontsize=16,color="burlywood",shape="box"];1580[label="vuz10400/Succ vuz104000",fontsize=10,color="white",style="solid",shape="box"];1172 -> 1580[label="",style="solid", color="burlywood", weight=9]; 1580 -> 1189[label="",style="solid", color="burlywood", weight=3]; 1581[label="vuz10400/Zero",fontsize=10,color="white",style="solid",shape="box"];1172 -> 1581[label="",style="solid", color="burlywood", weight=9]; 1581 -> 1190[label="",style="solid", color="burlywood", weight=3]; 1173[label="primQuotInt (Neg vuz510) (Pos vuz10400)",fontsize=16,color="burlywood",shape="box"];1582[label="vuz10400/Succ vuz104000",fontsize=10,color="white",style="solid",shape="box"];1173 -> 1582[label="",style="solid", color="burlywood", weight=9]; 1582 -> 1191[label="",style="solid", color="burlywood", weight=3]; 1583[label="vuz10400/Zero",fontsize=10,color="white",style="solid",shape="box"];1173 -> 1583[label="",style="solid", color="burlywood", weight=9]; 1583 -> 1192[label="",style="solid", color="burlywood", weight=3]; 1174[label="primQuotInt (Neg vuz510) (Neg vuz10400)",fontsize=16,color="burlywood",shape="box"];1584[label="vuz10400/Succ vuz104000",fontsize=10,color="white",style="solid",shape="box"];1174 -> 1584[label="",style="solid", color="burlywood", weight=9]; 1584 -> 1193[label="",style="solid", color="burlywood", weight=3]; 1585[label="vuz10400/Zero",fontsize=10,color="white",style="solid",shape="box"];1174 -> 1585[label="",style="solid", color="burlywood", weight=9]; 1585 -> 1194[label="",style="solid", color="burlywood", weight=3]; 751[label="absReal1 (Pos (Succ vuz3300)) True",fontsize=16,color="black",shape="box"];751 -> 770[label="",style="solid", color="black", weight=3]; 752[label="Pos Zero",fontsize=16,color="green",shape="box"];753[label="absReal0 (Neg (Succ vuz3300)) otherwise",fontsize=16,color="black",shape="box"];753 -> 771[label="",style="solid", color="black", weight=3]; 754[label="Neg Zero",fontsize=16,color="green",shape="box"];755[label="primModNatS vuz750 (Succ vuz7400)",fontsize=16,color="burlywood",shape="triangle"];1586[label="vuz750/Succ vuz7500",fontsize=10,color="white",style="solid",shape="box"];755 -> 1586[label="",style="solid", color="burlywood", weight=9]; 1586 -> 772[label="",style="solid", color="burlywood", weight=3]; 1587[label="vuz750/Zero",fontsize=10,color="white",style="solid",shape="box"];755 -> 1587[label="",style="solid", color="burlywood", weight=9]; 1587 -> 773[label="",style="solid", color="burlywood", weight=3]; 756 -> 755[label="",style="dashed", color="red", weight=0]; 756[label="primModNatS vuz750 (Succ vuz7400)",fontsize=16,color="magenta"];756 -> 774[label="",style="dashed", color="magenta", weight=3]; 757 -> 755[label="",style="dashed", color="red", weight=0]; 757[label="primModNatS vuz750 (Succ vuz7400)",fontsize=16,color="magenta"];757 -> 775[label="",style="dashed", color="magenta", weight=3]; 758 -> 755[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]; 758 -> 777[label="",style="dashed", color="magenta", weight=3]; 1175[label="absReal1 (Integer vuz1070) (not (compare (Integer vuz1070) (Integer (Pos Zero)) == LT))",fontsize=16,color="black",shape="box"];1175 -> 1195[label="",style="solid", color="black", weight=3]; 1176[label="vuz104 `rem` vuz102",fontsize=16,color="burlywood",shape="triangle"];1588[label="vuz104/Integer vuz1040",fontsize=10,color="white",style="solid",shape="box"];1176 -> 1588[label="",style="solid", color="burlywood", weight=9]; 1588 -> 1196[label="",style="solid", color="burlywood", weight=3]; 1177[label="gcd0Gcd'1 False vuz102 (vuz104 `rem` vuz102)",fontsize=16,color="black",shape="box"];1177 -> 1197[label="",style="solid", color="black", weight=3]; 1178[label="gcd0Gcd'1 True vuz102 (vuz104 `rem` vuz102)",fontsize=16,color="black",shape="box"];1178 -> 1198[label="",style="solid", color="black", weight=3]; 1187[label="primQuotInt (Pos vuz510) (Pos (Succ vuz104000))",fontsize=16,color="black",shape="box"];1187 -> 1204[label="",style="solid", color="black", weight=3]; 1188[label="primQuotInt (Pos vuz510) (Pos Zero)",fontsize=16,color="black",shape="box"];1188 -> 1205[label="",style="solid", color="black", weight=3]; 1189[label="primQuotInt (Pos vuz510) (Neg (Succ vuz104000))",fontsize=16,color="black",shape="box"];1189 -> 1206[label="",style="solid", color="black", weight=3]; 1190[label="primQuotInt (Pos vuz510) (Neg Zero)",fontsize=16,color="black",shape="box"];1190 -> 1207[label="",style="solid", color="black", weight=3]; 1191[label="primQuotInt (Neg vuz510) (Pos (Succ vuz104000))",fontsize=16,color="black",shape="box"];1191 -> 1208[label="",style="solid", color="black", weight=3]; 1192[label="primQuotInt (Neg vuz510) (Pos Zero)",fontsize=16,color="black",shape="box"];1192 -> 1209[label="",style="solid", color="black", weight=3]; 1193[label="primQuotInt (Neg vuz510) (Neg (Succ vuz104000))",fontsize=16,color="black",shape="box"];1193 -> 1210[label="",style="solid", color="black", weight=3]; 1194[label="primQuotInt (Neg vuz510) (Neg Zero)",fontsize=16,color="black",shape="box"];1194 -> 1211[label="",style="solid", color="black", weight=3]; 770[label="Pos (Succ vuz3300)",fontsize=16,color="green",shape="box"];771[label="absReal0 (Neg (Succ vuz3300)) True",fontsize=16,color="black",shape="box"];771 -> 790[label="",style="solid", color="black", weight=3]; 772[label="primModNatS (Succ vuz7500) (Succ vuz7400)",fontsize=16,color="black",shape="box"];772 -> 791[label="",style="solid", color="black", weight=3]; 773[label="primModNatS Zero (Succ vuz7400)",fontsize=16,color="black",shape="box"];773 -> 792[label="",style="solid", color="black", weight=3]; 774[label="vuz7400",fontsize=16,color="green",shape="box"];775[label="vuz750",fontsize=16,color="green",shape="box"];776[label="vuz7400",fontsize=16,color="green",shape="box"];777[label="vuz750",fontsize=16,color="green",shape="box"];1195[label="absReal1 (Integer vuz1070) (not (primCmpInt vuz1070 (Pos Zero) == LT))",fontsize=16,color="burlywood",shape="box"];1589[label="vuz1070/Pos vuz10700",fontsize=10,color="white",style="solid",shape="box"];1195 -> 1589[label="",style="solid", color="burlywood", weight=9]; 1589 -> 1212[label="",style="solid", color="burlywood", weight=3]; 1590[label="vuz1070/Neg vuz10700",fontsize=10,color="white",style="solid",shape="box"];1195 -> 1590[label="",style="solid", color="burlywood", weight=9]; 1590 -> 1213[label="",style="solid", color="burlywood", weight=3]; 1196[label="Integer vuz1040 `rem` vuz102",fontsize=16,color="burlywood",shape="box"];1591[label="vuz102/Integer vuz1020",fontsize=10,color="white",style="solid",shape="box"];1196 -> 1591[label="",style="solid", color="burlywood", weight=9]; 1591 -> 1214[label="",style="solid", color="burlywood", weight=3]; 1197 -> 1215[label="",style="dashed", color="red", weight=0]; 1197[label="gcd0Gcd'0 vuz102 (vuz104 `rem` vuz102)",fontsize=16,color="magenta"];1197 -> 1216[label="",style="dashed", color="magenta", weight=3]; 1198[label="vuz102",fontsize=16,color="green",shape="box"];1204[label="Pos (primDivNatS vuz510 (Succ vuz104000))",fontsize=16,color="green",shape="box"];1204 -> 1217[label="",style="dashed", color="green", weight=3]; 1205 -> 471[label="",style="dashed", color="red", weight=0]; 1205[label="error []",fontsize=16,color="magenta"];1206[label="Neg (primDivNatS vuz510 (Succ vuz104000))",fontsize=16,color="green",shape="box"];1206 -> 1218[label="",style="dashed", color="green", weight=3]; 1207 -> 471[label="",style="dashed", color="red", weight=0]; 1207[label="error []",fontsize=16,color="magenta"];1208[label="Neg (primDivNatS vuz510 (Succ vuz104000))",fontsize=16,color="green",shape="box"];1208 -> 1219[label="",style="dashed", color="green", weight=3]; 1209 -> 471[label="",style="dashed", color="red", weight=0]; 1209[label="error []",fontsize=16,color="magenta"];1210[label="Pos (primDivNatS vuz510 (Succ vuz104000))",fontsize=16,color="green",shape="box"];1210 -> 1220[label="",style="dashed", color="green", weight=3]; 1211 -> 471[label="",style="dashed", color="red", weight=0]; 1211[label="error []",fontsize=16,color="magenta"];790 -> 60[label="",style="dashed", color="red", weight=0]; 790[label="`negate` Neg (Succ vuz3300)",fontsize=16,color="magenta"];790 -> 810[label="",style="dashed", color="magenta", weight=3]; 791[label="primModNatS0 vuz7500 vuz7400 (primGEqNatS vuz7500 vuz7400)",fontsize=16,color="burlywood",shape="box"];1592[label="vuz7500/Succ vuz75000",fontsize=10,color="white",style="solid",shape="box"];791 -> 1592[label="",style="solid", color="burlywood", weight=9]; 1592 -> 811[label="",style="solid", color="burlywood", weight=3]; 1593[label="vuz7500/Zero",fontsize=10,color="white",style="solid",shape="box"];791 -> 1593[label="",style="solid", color="burlywood", weight=9]; 1593 -> 812[label="",style="solid", color="burlywood", weight=3]; 792[label="Zero",fontsize=16,color="green",shape="box"];1212[label="absReal1 (Integer (Pos vuz10700)) (not (primCmpInt (Pos vuz10700) (Pos Zero) == LT))",fontsize=16,color="burlywood",shape="box"];1594[label="vuz10700/Succ vuz107000",fontsize=10,color="white",style="solid",shape="box"];1212 -> 1594[label="",style="solid", color="burlywood", weight=9]; 1594 -> 1221[label="",style="solid", color="burlywood", weight=3]; 1595[label="vuz10700/Zero",fontsize=10,color="white",style="solid",shape="box"];1212 -> 1595[label="",style="solid", color="burlywood", weight=9]; 1595 -> 1222[label="",style="solid", color="burlywood", weight=3]; 1213[label="absReal1 (Integer (Neg vuz10700)) (not (primCmpInt (Neg vuz10700) (Pos Zero) == LT))",fontsize=16,color="burlywood",shape="box"];1596[label="vuz10700/Succ vuz107000",fontsize=10,color="white",style="solid",shape="box"];1213 -> 1596[label="",style="solid", color="burlywood", weight=9]; 1596 -> 1223[label="",style="solid", color="burlywood", weight=3]; 1597[label="vuz10700/Zero",fontsize=10,color="white",style="solid",shape="box"];1213 -> 1597[label="",style="solid", color="burlywood", weight=9]; 1597 -> 1224[label="",style="solid", color="burlywood", weight=3]; 1214[label="Integer vuz1040 `rem` Integer vuz1020",fontsize=16,color="black",shape="box"];1214 -> 1225[label="",style="solid", color="black", weight=3]; 1216 -> 1176[label="",style="dashed", color="red", weight=0]; 1216[label="vuz104 `rem` vuz102",fontsize=16,color="magenta"];1215[label="gcd0Gcd'0 vuz102 vuz109",fontsize=16,color="black",shape="triangle"];1215 -> 1226[label="",style="solid", color="black", weight=3]; 1217 -> 488[label="",style="dashed", color="red", weight=0]; 1217[label="primDivNatS vuz510 (Succ vuz104000)",fontsize=16,color="magenta"];1217 -> 1235[label="",style="dashed", color="magenta", weight=3]; 1217 -> 1236[label="",style="dashed", color="magenta", weight=3]; 1218 -> 488[label="",style="dashed", color="red", weight=0]; 1218[label="primDivNatS vuz510 (Succ vuz104000)",fontsize=16,color="magenta"];1218 -> 1237[label="",style="dashed", color="magenta", weight=3]; 1218 -> 1238[label="",style="dashed", color="magenta", weight=3]; 1219 -> 488[label="",style="dashed", color="red", weight=0]; 1219[label="primDivNatS vuz510 (Succ vuz104000)",fontsize=16,color="magenta"];1219 -> 1239[label="",style="dashed", color="magenta", weight=3]; 1219 -> 1240[label="",style="dashed", color="magenta", weight=3]; 1220 -> 488[label="",style="dashed", color="red", weight=0]; 1220[label="primDivNatS vuz510 (Succ vuz104000)",fontsize=16,color="magenta"];1220 -> 1241[label="",style="dashed", color="magenta", weight=3]; 1220 -> 1242[label="",style="dashed", color="magenta", weight=3]; 810[label="Neg (Succ vuz3300)",fontsize=16,color="green",shape="box"];811[label="primModNatS0 (Succ vuz75000) vuz7400 (primGEqNatS (Succ vuz75000) vuz7400)",fontsize=16,color="burlywood",shape="box"];1598[label="vuz7400/Succ vuz74000",fontsize=10,color="white",style="solid",shape="box"];811 -> 1598[label="",style="solid", color="burlywood", weight=9]; 1598 -> 842[label="",style="solid", color="burlywood", weight=3]; 1599[label="vuz7400/Zero",fontsize=10,color="white",style="solid",shape="box"];811 -> 1599[label="",style="solid", color="burlywood", weight=9]; 1599 -> 843[label="",style="solid", color="burlywood", weight=3]; 812[label="primModNatS0 Zero vuz7400 (primGEqNatS Zero vuz7400)",fontsize=16,color="burlywood",shape="box"];1600[label="vuz7400/Succ vuz74000",fontsize=10,color="white",style="solid",shape="box"];812 -> 1600[label="",style="solid", color="burlywood", weight=9]; 1600 -> 844[label="",style="solid", color="burlywood", weight=3]; 1601[label="vuz7400/Zero",fontsize=10,color="white",style="solid",shape="box"];812 -> 1601[label="",style="solid", color="burlywood", weight=9]; 1601 -> 845[label="",style="solid", color="burlywood", weight=3]; 1221[label="absReal1 (Integer (Pos (Succ vuz107000))) (not (primCmpInt (Pos (Succ vuz107000)) (Pos Zero) == LT))",fontsize=16,color="black",shape="box"];1221 -> 1243[label="",style="solid", color="black", weight=3]; 1222[label="absReal1 (Integer (Pos Zero)) (not (primCmpInt (Pos Zero) (Pos Zero) == LT))",fontsize=16,color="black",shape="box"];1222 -> 1244[label="",style="solid", color="black", weight=3]; 1223[label="absReal1 (Integer (Neg (Succ vuz107000))) (not (primCmpInt (Neg (Succ vuz107000)) (Pos Zero) == LT))",fontsize=16,color="black",shape="box"];1223 -> 1245[label="",style="solid", color="black", weight=3]; 1224[label="absReal1 (Integer (Neg Zero)) (not (primCmpInt (Neg Zero) (Pos Zero) == LT))",fontsize=16,color="black",shape="box"];1224 -> 1246[label="",style="solid", color="black", weight=3]; 1225[label="Integer (primRemInt vuz1040 vuz1020)",fontsize=16,color="green",shape="box"];1225 -> 1247[label="",style="dashed", color="green", weight=3]; 1226 -> 1122[label="",style="dashed", color="red", weight=0]; 1226[label="gcd0Gcd' vuz109 (vuz102 `rem` vuz109)",fontsize=16,color="magenta"];1226 -> 1248[label="",style="dashed", color="magenta", weight=3]; 1226 -> 1249[label="",style="dashed", color="magenta", weight=3]; 1235[label="vuz510",fontsize=16,color="green",shape="box"];1236[label="vuz104000",fontsize=16,color="green",shape="box"];1237[label="vuz510",fontsize=16,color="green",shape="box"];1238[label="vuz104000",fontsize=16,color="green",shape="box"];1239[label="vuz510",fontsize=16,color="green",shape="box"];1240[label="vuz104000",fontsize=16,color="green",shape="box"];1241[label="vuz510",fontsize=16,color="green",shape="box"];1242[label="vuz104000",fontsize=16,color="green",shape="box"];842[label="primModNatS0 (Succ vuz75000) (Succ vuz74000) (primGEqNatS (Succ vuz75000) (Succ vuz74000))",fontsize=16,color="black",shape="box"];842 -> 854[label="",style="solid", color="black", weight=3]; 843[label="primModNatS0 (Succ vuz75000) Zero (primGEqNatS (Succ vuz75000) Zero)",fontsize=16,color="black",shape="box"];843 -> 855[label="",style="solid", color="black", weight=3]; 844[label="primModNatS0 Zero (Succ vuz74000) (primGEqNatS Zero (Succ vuz74000))",fontsize=16,color="black",shape="box"];844 -> 856[label="",style="solid", color="black", weight=3]; 845[label="primModNatS0 Zero Zero (primGEqNatS Zero Zero)",fontsize=16,color="black",shape="box"];845 -> 857[label="",style="solid", color="black", weight=3]; 1243[label="absReal1 (Integer (Pos (Succ vuz107000))) (not (primCmpNat (Succ vuz107000) Zero == LT))",fontsize=16,color="black",shape="box"];1243 -> 1258[label="",style="solid", color="black", weight=3]; 1244[label="absReal1 (Integer (Pos Zero)) (not (EQ == LT))",fontsize=16,color="black",shape="box"];1244 -> 1259[label="",style="solid", color="black", weight=3]; 1245[label="absReal1 (Integer (Neg (Succ vuz107000))) (not (LT == LT))",fontsize=16,color="black",shape="box"];1245 -> 1260[label="",style="solid", color="black", weight=3]; 1246[label="absReal1 (Integer (Neg Zero)) (not (EQ == LT))",fontsize=16,color="black",shape="box"];1246 -> 1261[label="",style="solid", color="black", weight=3]; 1247 -> 646[label="",style="dashed", color="red", weight=0]; 1247[label="primRemInt vuz1040 vuz1020",fontsize=16,color="magenta"];1247 -> 1262[label="",style="dashed", color="magenta", weight=3]; 1247 -> 1263[label="",style="dashed", color="magenta", weight=3]; 1248[label="vuz109",fontsize=16,color="green",shape="box"];1249[label="vuz102",fontsize=16,color="green",shape="box"];854 -> 1356[label="",style="dashed", color="red", weight=0]; 854[label="primModNatS0 (Succ vuz75000) (Succ vuz74000) (primGEqNatS vuz75000 vuz74000)",fontsize=16,color="magenta"];854 -> 1357[label="",style="dashed", color="magenta", weight=3]; 854 -> 1358[label="",style="dashed", color="magenta", weight=3]; 854 -> 1359[label="",style="dashed", color="magenta", weight=3]; 854 -> 1360[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]; 1258[label="absReal1 (Integer (Pos (Succ vuz107000))) (not (GT == LT))",fontsize=16,color="black",shape="box"];1258 -> 1269[label="",style="solid", color="black", weight=3]; 1259[label="absReal1 (Integer (Pos Zero)) (not False)",fontsize=16,color="black",shape="box"];1259 -> 1270[label="",style="solid", color="black", weight=3]; 1260[label="absReal1 (Integer (Neg (Succ vuz107000))) (not True)",fontsize=16,color="black",shape="box"];1260 -> 1271[label="",style="solid", color="black", weight=3]; 1261[label="absReal1 (Integer (Neg Zero)) (not False)",fontsize=16,color="black",shape="box"];1261 -> 1272[label="",style="solid", color="black", weight=3]; 1262[label="vuz1040",fontsize=16,color="green",shape="box"];1263[label="vuz1020",fontsize=16,color="green",shape="box"];1357[label="vuz74000",fontsize=16,color="green",shape="box"];1358[label="vuz74000",fontsize=16,color="green",shape="box"];1359[label="vuz75000",fontsize=16,color="green",shape="box"];1360[label="vuz75000",fontsize=16,color="green",shape="box"];1356[label="primModNatS0 (Succ vuz130) (Succ vuz131) (primGEqNatS vuz132 vuz133)",fontsize=16,color="burlywood",shape="triangle"];1602[label="vuz132/Succ vuz1320",fontsize=10,color="white",style="solid",shape="box"];1356 -> 1602[label="",style="solid", color="burlywood", weight=9]; 1602 -> 1393[label="",style="solid", color="burlywood", weight=3]; 1603[label="vuz132/Zero",fontsize=10,color="white",style="solid",shape="box"];1356 -> 1603[label="",style="solid", color="burlywood", weight=9]; 1603 -> 1394[label="",style="solid", color="burlywood", weight=3]; 868 -> 755[label="",style="dashed", color="red", weight=0]; 868[label="primModNatS (primMinusNatS (Succ vuz75000) Zero) (Succ Zero)",fontsize=16,color="magenta"];868 -> 910[label="",style="dashed", color="magenta", weight=3]; 868 -> 911[label="",style="dashed", color="magenta", weight=3]; 869[label="Succ Zero",fontsize=16,color="green",shape="box"];870 -> 755[label="",style="dashed", color="red", weight=0]; 870[label="primModNatS (primMinusNatS Zero Zero) (Succ Zero)",fontsize=16,color="magenta"];870 -> 912[label="",style="dashed", color="magenta", weight=3]; 870 -> 913[label="",style="dashed", color="magenta", weight=3]; 1269[label="absReal1 (Integer (Pos (Succ vuz107000))) (not False)",fontsize=16,color="black",shape="box"];1269 -> 1275[label="",style="solid", color="black", weight=3]; 1270[label="absReal1 (Integer (Pos Zero)) True",fontsize=16,color="black",shape="box"];1270 -> 1276[label="",style="solid", color="black", weight=3]; 1271[label="absReal1 (Integer (Neg (Succ vuz107000))) False",fontsize=16,color="black",shape="box"];1271 -> 1277[label="",style="solid", color="black", weight=3]; 1272[label="absReal1 (Integer (Neg Zero)) True",fontsize=16,color="black",shape="box"];1272 -> 1278[label="",style="solid", color="black", weight=3]; 1393[label="primModNatS0 (Succ vuz130) (Succ vuz131) (primGEqNatS (Succ vuz1320) vuz133)",fontsize=16,color="burlywood",shape="box"];1604[label="vuz133/Succ vuz1330",fontsize=10,color="white",style="solid",shape="box"];1393 -> 1604[label="",style="solid", color="burlywood", weight=9]; 1604 -> 1395[label="",style="solid", color="burlywood", weight=3]; 1605[label="vuz133/Zero",fontsize=10,color="white",style="solid",shape="box"];1393 -> 1605[label="",style="solid", color="burlywood", weight=9]; 1605 -> 1396[label="",style="solid", color="burlywood", weight=3]; 1394[label="primModNatS0 (Succ vuz130) (Succ vuz131) (primGEqNatS Zero vuz133)",fontsize=16,color="burlywood",shape="box"];1606[label="vuz133/Succ vuz1330",fontsize=10,color="white",style="solid",shape="box"];1394 -> 1606[label="",style="solid", color="burlywood", weight=9]; 1606 -> 1397[label="",style="solid", color="burlywood", weight=3]; 1607[label="vuz133/Zero",fontsize=10,color="white",style="solid",shape="box"];1394 -> 1607[label="",style="solid", color="burlywood", weight=9]; 1607 -> 1398[label="",style="solid", color="burlywood", weight=3]; 910[label="Zero",fontsize=16,color="green",shape="box"];911 -> 579[label="",style="dashed", color="red", weight=0]; 911[label="primMinusNatS (Succ vuz75000) Zero",fontsize=16,color="magenta"];911 -> 925[label="",style="dashed", color="magenta", weight=3]; 912[label="Zero",fontsize=16,color="green",shape="box"];913 -> 581[label="",style="dashed", color="red", weight=0]; 913[label="primMinusNatS Zero Zero",fontsize=16,color="magenta"];1275[label="absReal1 (Integer (Pos (Succ vuz107000))) True",fontsize=16,color="black",shape="box"];1275 -> 1285[label="",style="solid", color="black", weight=3]; 1276[label="Integer (Pos Zero)",fontsize=16,color="green",shape="box"];1277[label="absReal0 (Integer (Neg (Succ vuz107000))) otherwise",fontsize=16,color="black",shape="box"];1277 -> 1286[label="",style="solid", color="black", weight=3]; 1278[label="Integer (Neg Zero)",fontsize=16,color="green",shape="box"];1395[label="primModNatS0 (Succ vuz130) (Succ vuz131) (primGEqNatS (Succ vuz1320) (Succ vuz1330))",fontsize=16,color="black",shape="box"];1395 -> 1399[label="",style="solid", color="black", weight=3]; 1396[label="primModNatS0 (Succ vuz130) (Succ vuz131) (primGEqNatS (Succ vuz1320) Zero)",fontsize=16,color="black",shape="box"];1396 -> 1400[label="",style="solid", color="black", weight=3]; 1397[label="primModNatS0 (Succ vuz130) (Succ vuz131) (primGEqNatS Zero (Succ vuz1330))",fontsize=16,color="black",shape="box"];1397 -> 1401[label="",style="solid", color="black", weight=3]; 1398[label="primModNatS0 (Succ vuz130) (Succ vuz131) (primGEqNatS Zero Zero)",fontsize=16,color="black",shape="box"];1398 -> 1402[label="",style="solid", color="black", weight=3]; 925[label="vuz75000",fontsize=16,color="green",shape="box"];1285[label="Integer (Pos (Succ vuz107000))",fontsize=16,color="green",shape="box"];1286[label="absReal0 (Integer (Neg (Succ vuz107000))) True",fontsize=16,color="black",shape="box"];1286 -> 1293[label="",style="solid", color="black", weight=3]; 1399 -> 1356[label="",style="dashed", color="red", weight=0]; 1399[label="primModNatS0 (Succ vuz130) (Succ vuz131) (primGEqNatS vuz1320 vuz1330)",fontsize=16,color="magenta"];1399 -> 1403[label="",style="dashed", color="magenta", weight=3]; 1399 -> 1404[label="",style="dashed", color="magenta", weight=3]; 1400[label="primModNatS0 (Succ vuz130) (Succ vuz131) True",fontsize=16,color="black",shape="triangle"];1400 -> 1405[label="",style="solid", color="black", weight=3]; 1401[label="primModNatS0 (Succ vuz130) (Succ vuz131) False",fontsize=16,color="black",shape="box"];1401 -> 1406[label="",style="solid", color="black", weight=3]; 1402 -> 1400[label="",style="dashed", color="red", weight=0]; 1402[label="primModNatS0 (Succ vuz130) (Succ vuz131) True",fontsize=16,color="magenta"];1293 -> 59[label="",style="dashed", color="red", weight=0]; 1293[label="`negate` Integer (Neg (Succ vuz107000))",fontsize=16,color="magenta"];1293 -> 1298[label="",style="dashed", color="magenta", weight=3]; 1403[label="vuz1330",fontsize=16,color="green",shape="box"];1404[label="vuz1320",fontsize=16,color="green",shape="box"];1405 -> 755[label="",style="dashed", color="red", weight=0]; 1405[label="primModNatS (primMinusNatS (Succ vuz130) (Succ vuz131)) (Succ (Succ vuz131))",fontsize=16,color="magenta"];1405 -> 1407[label="",style="dashed", color="magenta", weight=3]; 1405 -> 1408[label="",style="dashed", color="magenta", weight=3]; 1406[label="Succ (Succ vuz130)",fontsize=16,color="green",shape="box"];1298[label="Integer (Neg (Succ vuz107000))",fontsize=16,color="green",shape="box"];1407[label="Succ vuz131",fontsize=16,color="green",shape="box"];1408 -> 1041[label="",style="dashed", color="red", weight=0]; 1408[label="primMinusNatS (Succ vuz130) (Succ vuz131)",fontsize=16,color="magenta"];1408 -> 1409[label="",style="dashed", color="magenta", weight=3]; 1408 -> 1410[label="",style="dashed", color="magenta", weight=3]; 1409[label="Succ vuz130",fontsize=16,color="green",shape="box"];1410[label="Succ vuz131",fontsize=16,color="green",shape="box"];} ---------------------------------------- (12) Complex Obligation (AND) ---------------------------------------- (13) Obligation: Q DP problem: The TRS P consists of the following rules: new_primModNatS(Succ(Succ(vuz75000)), Zero) -> new_primModNatS(new_primMinusNatS0(vuz75000), Zero) new_primModNatS(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS0(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS(Succ(Zero), Zero) -> new_primModNatS(new_primMinusNatS1, Zero) new_primModNatS0(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS0(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS0(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS0(vuz130, vuz131, Zero, Zero) -> new_primModNatS00(vuz130, vuz131) new_primModNatS00(vuz130, vuz131) -> new_primModNatS(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) The TRS R consists of the following rules: new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero new_primMinusNatS0(vuz32000) -> Succ(vuz32000) The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS0(x0) new_primMinusNatS2(Succ(x0), Zero) new_primMinusNatS2(Zero, Zero) new_primMinusNatS1 We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (14) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 2 SCCs with 1 less node. ---------------------------------------- (15) Complex Obligation (AND) ---------------------------------------- (16) Obligation: Q DP problem: The TRS P consists of the following rules: new_primModNatS0(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS0(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS0(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS0(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS0(vuz130, vuz131, Zero, Zero) -> new_primModNatS00(vuz130, vuz131) new_primModNatS00(vuz130, vuz131) -> new_primModNatS(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) The TRS R consists of the following rules: new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero new_primMinusNatS0(vuz32000) -> Succ(vuz32000) The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS0(x0) new_primMinusNatS2(Succ(x0), Zero) new_primMinusNatS2(Zero, Zero) new_primMinusNatS1 We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (17) QDPOrderProof (EQUIVALENT) We use the reduction pair processor [LPAR04,JAR06]. The following pairs can be oriented strictly and are deleted. new_primModNatS(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS0(vuz75000, vuz74000, vuz75000, vuz74000) The remaining pairs can at least be oriented weakly. Used ordering: Polynomial interpretation [POLO]: POL(Succ(x_1)) = 1 + x_1 POL(Zero) = 1 POL(new_primMinusNatS2(x_1, x_2)) = x_1 POL(new_primModNatS(x_1, x_2)) = x_1 POL(new_primModNatS0(x_1, x_2, x_3, x_4)) = 1 + x_1 POL(new_primModNatS00(x_1, x_2)) = 1 + x_1 The following usable rules [FROCOS05] with respect to the argument filtering of the ordering [JAR06] were oriented: new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero ---------------------------------------- (18) Obligation: Q DP problem: The TRS P consists of the following rules: new_primModNatS0(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS0(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS0(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS0(vuz130, vuz131, Zero, Zero) -> new_primModNatS00(vuz130, vuz131) new_primModNatS00(vuz130, vuz131) -> new_primModNatS(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) The TRS R consists of the following rules: new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero new_primMinusNatS0(vuz32000) -> Succ(vuz32000) The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS0(x0) new_primMinusNatS2(Succ(x0), Zero) new_primMinusNatS2(Zero, Zero) new_primMinusNatS1 We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (19) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 3 less nodes. ---------------------------------------- (20) Obligation: Q DP problem: The TRS P consists of the following rules: new_primModNatS0(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS0(vuz130, vuz131, vuz1320, vuz1330) The TRS R consists of the following rules: new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero new_primMinusNatS0(vuz32000) -> Succ(vuz32000) The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS0(x0) new_primMinusNatS2(Succ(x0), Zero) new_primMinusNatS2(Zero, Zero) new_primMinusNatS1 We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (21) QDPSizeChangeProof (EQUIVALENT) By using the subterm criterion [SUBTERM_CRITERION] together with the size-change analysis [AAECC05] we have proven that there are no infinite chains for this DP problem. From the DPs we obtained the following set of size-change graphs: *new_primModNatS0(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS0(vuz130, vuz131, vuz1320, vuz1330) The graph contains the following edges 1 >= 1, 2 >= 2, 3 > 3, 4 > 4 ---------------------------------------- (22) YES ---------------------------------------- (23) Obligation: Q DP problem: The TRS P consists of the following rules: new_primModNatS(Succ(Succ(vuz75000)), Zero) -> new_primModNatS(new_primMinusNatS0(vuz75000), Zero) The TRS R consists of the following rules: new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero new_primMinusNatS0(vuz32000) -> Succ(vuz32000) The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS0(x0) new_primMinusNatS2(Succ(x0), Zero) new_primMinusNatS2(Zero, Zero) new_primMinusNatS1 We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (24) MRRProof (EQUIVALENT) By using the rule removal processor [LPAR04] with the following ordering, at least one Dependency Pair or term rewrite system rule of this QDP problem can be strictly oriented. Strictly oriented dependency pairs: new_primModNatS(Succ(Succ(vuz75000)), Zero) -> new_primModNatS(new_primMinusNatS0(vuz75000), Zero) Strictly oriented rules of the TRS R: new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero Used ordering: Polynomial interpretation [POLO]: POL(Succ(x_1)) = 1 + x_1 POL(Zero) = 2 POL(new_primMinusNatS0(x_1)) = 1 + x_1 POL(new_primMinusNatS1) = 2 POL(new_primMinusNatS2(x_1, x_2)) = 1 + 2*x_1 + 2*x_2 POL(new_primModNatS(x_1, x_2)) = x_1 + x_2 ---------------------------------------- (25) Obligation: Q DP problem: P is empty. The TRS R consists of the following rules: new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz32000) -> Succ(vuz32000) The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS0(x0) new_primMinusNatS2(Succ(x0), Zero) new_primMinusNatS2(Zero, Zero) new_primMinusNatS1 We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (26) PisEmptyProof (EQUIVALENT) The TRS P is empty. Hence, there is no (P,Q,R) chain. ---------------------------------------- (27) YES ---------------------------------------- (28) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'00(vuz75, vuz74) -> new_gcd0Gcd'10(new_esEs0(new_rem0(vuz75, vuz74)), vuz74, vuz75) new_gcd0Gcd'10(False, vuz74, vuz75) -> new_gcd0Gcd'00(vuz74, new_rem0(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_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS01(vuz130, vuz131) new_esEs0(Pos(Succ(vuz2500))) -> False new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primMinusNatS0(vuz32000) -> Succ(vuz32000) new_esEs0(Neg(Succ(vuz2500))) -> False new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error new_primModNatS01(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero new_error -> error([]) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS02(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS02(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_esEs0(Neg(Zero)) -> True new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_primMinusNatS1 -> Zero new_esEs0(Pos(Zero)) -> True new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error new_rem0(vuz75, vuz74) -> new_primRemInt(vuz75, vuz74) new_primModNatS02(vuz130, vuz131, Zero, Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS02(vuz75000, vuz74000, vuz75000, vuz74000) The set Q consists of the following terms: new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primMinusNatS1 new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_esEs0(Neg(Zero)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_esEs0(Pos(Zero)) new_primModNatS01(x0, x1) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_rem0(x0, x1) new_primModNatS1(Zero, x0) new_esEs0(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (29) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'00(vuz75, vuz74) -> new_gcd0Gcd'10(new_esEs0(new_rem0(vuz75, vuz74)), vuz74, vuz75) at position [0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'00(vuz75, vuz74) -> new_gcd0Gcd'10(new_esEs0(new_primRemInt(vuz75, vuz74)), vuz74, vuz75),new_gcd0Gcd'00(vuz75, vuz74) -> new_gcd0Gcd'10(new_esEs0(new_primRemInt(vuz75, vuz74)), vuz74, vuz75)) ---------------------------------------- (30) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'10(False, vuz74, vuz75) -> new_gcd0Gcd'00(vuz74, new_rem0(vuz75, vuz74)) new_gcd0Gcd'00(vuz75, vuz74) -> new_gcd0Gcd'10(new_esEs0(new_primRemInt(vuz75, vuz74)), vuz74, vuz75) 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_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS01(vuz130, vuz131) new_esEs0(Pos(Succ(vuz2500))) -> False new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primMinusNatS0(vuz32000) -> Succ(vuz32000) new_esEs0(Neg(Succ(vuz2500))) -> False new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error new_primModNatS01(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero new_error -> error([]) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS02(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS02(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_esEs0(Neg(Zero)) -> True new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_primMinusNatS1 -> Zero new_esEs0(Pos(Zero)) -> True new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error new_rem0(vuz75, vuz74) -> new_primRemInt(vuz75, vuz74) new_primModNatS02(vuz130, vuz131, Zero, Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS02(vuz75000, vuz74000, vuz75000, vuz74000) The set Q consists of the following terms: new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primMinusNatS1 new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_esEs0(Neg(Zero)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_esEs0(Pos(Zero)) new_primModNatS01(x0, x1) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_rem0(x0, x1) new_primModNatS1(Zero, x0) new_esEs0(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (31) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'10(False, vuz74, vuz75) -> new_gcd0Gcd'00(vuz74, new_rem0(vuz75, vuz74)) at position [1] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'10(False, vuz74, vuz75) -> new_gcd0Gcd'00(vuz74, new_primRemInt(vuz75, vuz74)),new_gcd0Gcd'10(False, vuz74, vuz75) -> new_gcd0Gcd'00(vuz74, new_primRemInt(vuz75, vuz74))) ---------------------------------------- (32) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'00(vuz75, vuz74) -> new_gcd0Gcd'10(new_esEs0(new_primRemInt(vuz75, vuz74)), vuz74, vuz75) new_gcd0Gcd'10(False, vuz74, vuz75) -> new_gcd0Gcd'00(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_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS01(vuz130, vuz131) new_esEs0(Pos(Succ(vuz2500))) -> False new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primMinusNatS0(vuz32000) -> Succ(vuz32000) new_esEs0(Neg(Succ(vuz2500))) -> False new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error new_primModNatS01(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero new_error -> error([]) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS02(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS02(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_esEs0(Neg(Zero)) -> True new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_primMinusNatS1 -> Zero new_esEs0(Pos(Zero)) -> True new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error new_rem0(vuz75, vuz74) -> new_primRemInt(vuz75, vuz74) new_primModNatS02(vuz130, vuz131, Zero, Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS02(vuz75000, vuz74000, vuz75000, vuz74000) The set Q consists of the following terms: new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primMinusNatS1 new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_esEs0(Neg(Zero)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_esEs0(Pos(Zero)) new_primModNatS01(x0, x1) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_rem0(x0, x1) new_primModNatS1(Zero, x0) new_esEs0(Neg(Succ(x0))) 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'00(vuz75, vuz74) -> new_gcd0Gcd'10(new_esEs0(new_primRemInt(vuz75, vuz74)), vuz74, vuz75) new_gcd0Gcd'10(False, vuz74, vuz75) -> new_gcd0Gcd'00(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(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) new_primModNatS01(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS02(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS02(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS02(vuz130, vuz131, Zero, Zero) -> new_primModNatS01(vuz130, vuz131) new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primModNatS02(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz32000) -> Succ(vuz32000) new_esEs0(Pos(Succ(vuz2500))) -> False new_esEs0(Neg(Succ(vuz2500))) -> False new_esEs0(Neg(Zero)) -> True new_esEs0(Pos(Zero)) -> True The set Q consists of the following terms: new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primMinusNatS1 new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_esEs0(Neg(Zero)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_esEs0(Pos(Zero)) new_primModNatS01(x0, x1) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_rem0(x0, x1) new_primModNatS1(Zero, x0) new_esEs0(Neg(Succ(x0))) 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_rem0(x0, x1) ---------------------------------------- (36) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'00(vuz75, vuz74) -> new_gcd0Gcd'10(new_esEs0(new_primRemInt(vuz75, vuz74)), vuz74, vuz75) new_gcd0Gcd'10(False, vuz74, vuz75) -> new_gcd0Gcd'00(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(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) new_primModNatS01(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS02(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS02(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS02(vuz130, vuz131, Zero, Zero) -> new_primModNatS01(vuz130, vuz131) new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primModNatS02(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz32000) -> Succ(vuz32000) new_esEs0(Pos(Succ(vuz2500))) -> False new_esEs0(Neg(Succ(vuz2500))) -> False new_esEs0(Neg(Zero)) -> True new_esEs0(Pos(Zero)) -> True The set Q consists of the following terms: new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primMinusNatS1 new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_esEs0(Neg(Zero)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_esEs0(Pos(Zero)) new_primModNatS01(x0, x1) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Zero, x0) new_esEs0(Neg(Succ(x0))) 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'00(vuz75, vuz74) -> new_gcd0Gcd'10(new_esEs0(new_primRemInt(vuz75, vuz74)), vuz74, vuz75) new_gcd0Gcd'10(False, vuz74, vuz75) -> new_gcd0Gcd'00(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(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) new_primModNatS01(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS02(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS02(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS02(vuz130, vuz131, Zero, Zero) -> new_primModNatS01(vuz130, vuz131) new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primModNatS02(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz32000) -> Succ(vuz32000) new_esEs0(Pos(Succ(vuz2500))) -> False new_esEs0(Neg(Succ(vuz2500))) -> False new_esEs0(Neg(Zero)) -> True new_esEs0(Pos(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'00(vuz75, vuz74) -> new_gcd0Gcd'10(new_esEs0(new_primRemInt(vuz75, vuz74)), vuz74, vuz75) the following chains were created: *We consider the chain new_gcd0Gcd'00(x2, x3) -> new_gcd0Gcd'10(new_esEs0(new_primRemInt(x2, x3)), x3, x2), new_gcd0Gcd'10(False, x4, x5) -> new_gcd0Gcd'00(x4, new_primRemInt(x5, x4)) which results in the following constraint: (1) (new_gcd0Gcd'10(new_esEs0(new_primRemInt(x2, x3)), x3, x2)=new_gcd0Gcd'10(False, x4, x5) ==> new_gcd0Gcd'00(x2, x3)_>=_new_gcd0Gcd'10(new_esEs0(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_esEs0(x12)=False ==> new_gcd0Gcd'00(x2, x3)_>=_new_gcd0Gcd'10(new_esEs0(new_primRemInt(x2, x3)), x3, x2)) We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_esEs0(x12)=False which results in the following new constraints: (3) (False=False & new_primRemInt(x2, x3)=Pos(Succ(x13)) ==> new_gcd0Gcd'00(x2, x3)_>=_new_gcd0Gcd'10(new_esEs0(new_primRemInt(x2, x3)), x3, x2)) (4) (False=False & new_primRemInt(x2, x3)=Neg(Succ(x14)) ==> new_gcd0Gcd'00(x2, x3)_>=_new_gcd0Gcd'10(new_esEs0(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'00(x2, x3)_>=_new_gcd0Gcd'10(new_esEs0(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'00(x2, x3)_>=_new_gcd0Gcd'10(new_esEs0(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'00(Pos(x16), Neg(Succ(x15)))_>=_new_gcd0Gcd'10(new_esEs0(new_primRemInt(Pos(x16), Neg(Succ(x15)))), Neg(Succ(x15)), Pos(x16))) (8) (Pos(new_primModNatS1(x18, x17))=Pos(Succ(x13)) ==> new_gcd0Gcd'00(Pos(x18), Pos(Succ(x17)))_>=_new_gcd0Gcd'10(new_esEs0(new_primRemInt(Pos(x18), Pos(Succ(x17)))), Pos(Succ(x17)), Pos(x18))) (9) (new_error=Pos(Succ(x13)) ==> new_gcd0Gcd'00(Neg(x19), Neg(Zero))_>=_new_gcd0Gcd'10(new_esEs0(new_primRemInt(Neg(x19), Neg(Zero))), Neg(Zero), Neg(x19))) (10) (new_error=Pos(Succ(x13)) ==> new_gcd0Gcd'00(Pos(x22), Pos(Zero))_>=_new_gcd0Gcd'10(new_esEs0(new_primRemInt(Pos(x22), Pos(Zero))), Pos(Zero), Pos(x22))) (11) (new_error=Pos(Succ(x13)) ==> new_gcd0Gcd'00(Pos(x25), Neg(Zero))_>=_new_gcd0Gcd'10(new_esEs0(new_primRemInt(Pos(x25), Neg(Zero))), Neg(Zero), Pos(x25))) (12) (new_error=Pos(Succ(x13)) ==> new_gcd0Gcd'00(Neg(x26), Pos(Zero))_>=_new_gcd0Gcd'10(new_esEs0(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'00(Pos(x16), Neg(Succ(x15)))_>=_new_gcd0Gcd'10(new_esEs0(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'00(Pos(x18), Pos(Succ(x17)))_>=_new_gcd0Gcd'10(new_esEs0(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'00(Pos(Succ(Zero)), Neg(Succ(Succ(x27))))_>=_new_gcd0Gcd'10(new_esEs0(new_primRemInt(Pos(Succ(Zero)), Neg(Succ(Succ(x27))))), Neg(Succ(Succ(x27))), Pos(Succ(Zero)))) (16) (new_primModNatS1(new_primMinusNatS1, Zero)=Succ(x13) ==> new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(Succ(Zero)))_>=_new_gcd0Gcd'10(new_esEs0(new_primRemInt(Pos(Succ(Zero)), Neg(Succ(Zero)))), Neg(Succ(Zero)), Pos(Succ(Zero)))) (17) (new_primModNatS1(new_primMinusNatS0(x29), Zero)=Succ(x13) ==> new_gcd0Gcd'00(Pos(Succ(Succ(x29))), Neg(Succ(Zero)))_>=_new_gcd0Gcd'10(new_esEs0(new_primRemInt(Pos(Succ(Succ(x29))), Neg(Succ(Zero)))), Neg(Succ(Zero)), Pos(Succ(Succ(x29))))) (18) (new_primModNatS02(x31, x30, x31, x30)=Succ(x13) ==> new_gcd0Gcd'00(Pos(Succ(Succ(x31))), Neg(Succ(Succ(x30))))_>=_new_gcd0Gcd'10(new_esEs0(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'00(Pos(Succ(Zero)), Neg(Succ(Succ(x27))))_>=_new_gcd0Gcd'10(new_esEs0(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'00(Pos(Succ(Zero)), Neg(Succ(Zero)))_>=_new_gcd0Gcd'10(new_esEs0(new_primRemInt(Pos(Succ(Zero)), Neg(Succ(Zero)))), Neg(Succ(Zero)), Pos(Succ(Zero)))) We simplified constraint (17) using rules (III), (IV), (VII) which results in the following new constraint: (21) (new_gcd0Gcd'00(Pos(Succ(Succ(x29))), Neg(Succ(Zero)))_>=_new_gcd0Gcd'10(new_esEs0(new_primRemInt(Pos(Succ(Succ(x29))), Neg(Succ(Zero)))), Neg(Succ(Zero)), Pos(Succ(Succ(x29))))) We simplified constraint (18) using rules (III), (IV), (VII) which results in the following new constraint: (22) (new_gcd0Gcd'00(Pos(Succ(Succ(x36))), Neg(Succ(Succ(x37))))_>=_new_gcd0Gcd'10(new_esEs0(new_primRemInt(Pos(Succ(Succ(x36))), Neg(Succ(Succ(x37))))), Neg(Succ(Succ(x37))), Pos(Succ(Succ(x36))))) We simplified constraint (14) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS1(x18, x17)=Succ(x13) which results in the following new constraints: (23) (Succ(Zero)=Succ(x13) ==> new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(Succ(Succ(x38))))_>=_new_gcd0Gcd'10(new_esEs0(new_primRemInt(Pos(Succ(Zero)), Pos(Succ(Succ(x38))))), Pos(Succ(Succ(x38))), Pos(Succ(Zero)))) (24) (new_primModNatS1(new_primMinusNatS1, Zero)=Succ(x13) ==> new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(Succ(Zero)))_>=_new_gcd0Gcd'10(new_esEs0(new_primRemInt(Pos(Succ(Zero)), Pos(Succ(Zero)))), Pos(Succ(Zero)), Pos(Succ(Zero)))) (25) (new_primModNatS1(new_primMinusNatS0(x40), Zero)=Succ(x13) ==> new_gcd0Gcd'00(Pos(Succ(Succ(x40))), Pos(Succ(Zero)))_>=_new_gcd0Gcd'10(new_esEs0(new_primRemInt(Pos(Succ(Succ(x40))), Pos(Succ(Zero)))), Pos(Succ(Zero)), Pos(Succ(Succ(x40))))) (26) (new_primModNatS02(x42, x41, x42, x41)=Succ(x13) ==> new_gcd0Gcd'00(Pos(Succ(Succ(x42))), Pos(Succ(Succ(x41))))_>=_new_gcd0Gcd'10(new_esEs0(new_primRemInt(Pos(Succ(Succ(x42))), Pos(Succ(Succ(x41))))), Pos(Succ(Succ(x41))), Pos(Succ(Succ(x42))))) We simplified constraint (23) using rules (I), (II), (IV) which results in the following new constraint: (27) (new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(Succ(Succ(x38))))_>=_new_gcd0Gcd'10(new_esEs0(new_primRemInt(Pos(Succ(Zero)), Pos(Succ(Succ(x38))))), Pos(Succ(Succ(x38))), Pos(Succ(Zero)))) We simplified constraint (24) using rules (III), (IV), (VII) which results in the following new constraint: (28) (new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(Succ(Zero)))_>=_new_gcd0Gcd'10(new_esEs0(new_primRemInt(Pos(Succ(Zero)), Pos(Succ(Zero)))), Pos(Succ(Zero)), Pos(Succ(Zero)))) We simplified constraint (25) using rules (III), (IV), (VII) which results in the following new constraint: (29) (new_gcd0Gcd'00(Pos(Succ(Succ(x40))), Pos(Succ(Zero)))_>=_new_gcd0Gcd'10(new_esEs0(new_primRemInt(Pos(Succ(Succ(x40))), Pos(Succ(Zero)))), Pos(Succ(Zero)), Pos(Succ(Succ(x40))))) We simplified constraint (26) using rules (III), (IV), (VII) which results in the following new constraint: (30) (new_gcd0Gcd'00(Pos(Succ(Succ(x47))), Pos(Succ(Succ(x48))))_>=_new_gcd0Gcd'10(new_esEs0(new_primRemInt(Pos(Succ(Succ(x47))), Pos(Succ(Succ(x48))))), Pos(Succ(Succ(x48))), Pos(Succ(Succ(x47))))) We simplified constraint (6) using rule (V) (with possible (I) afterwards) using induction on new_primRemInt(x2, x3)=Neg(Succ(x14)) which results in the following new constraints: (31) (new_error=Neg(Succ(x14)) ==> new_gcd0Gcd'00(Neg(x53), Neg(Zero))_>=_new_gcd0Gcd'10(new_esEs0(new_primRemInt(Neg(x53), Neg(Zero))), Neg(Zero), Neg(x53))) (32) (Neg(new_primModNatS1(x55, x54))=Neg(Succ(x14)) ==> new_gcd0Gcd'00(Neg(x55), Pos(Succ(x54)))_>=_new_gcd0Gcd'10(new_esEs0(new_primRemInt(Neg(x55), Pos(Succ(x54)))), Pos(Succ(x54)), Neg(x55))) (33) (new_error=Neg(Succ(x14)) ==> new_gcd0Gcd'00(Pos(x56), Pos(Zero))_>=_new_gcd0Gcd'10(new_esEs0(new_primRemInt(Pos(x56), Pos(Zero))), Pos(Zero), Pos(x56))) (34) (Neg(new_primModNatS1(x58, x57))=Neg(Succ(x14)) ==> new_gcd0Gcd'00(Neg(x58), Neg(Succ(x57)))_>=_new_gcd0Gcd'10(new_esEs0(new_primRemInt(Neg(x58), Neg(Succ(x57)))), Neg(Succ(x57)), Neg(x58))) (35) (new_error=Neg(Succ(x14)) ==> new_gcd0Gcd'00(Pos(x59), Neg(Zero))_>=_new_gcd0Gcd'10(new_esEs0(new_primRemInt(Pos(x59), Neg(Zero))), Neg(Zero), Pos(x59))) (36) (new_error=Neg(Succ(x14)) ==> new_gcd0Gcd'00(Neg(x60), Pos(Zero))_>=_new_gcd0Gcd'10(new_esEs0(new_primRemInt(Neg(x60), Pos(Zero))), Pos(Zero), Neg(x60))) We solved constraint (31) using rule (V) (with possible (I) afterwards).We simplified constraint (32) using rules (I), (II) which results in the following new constraint: (37) (new_primModNatS1(x55, x54)=Succ(x14) ==> new_gcd0Gcd'00(Neg(x55), Pos(Succ(x54)))_>=_new_gcd0Gcd'10(new_esEs0(new_primRemInt(Neg(x55), Pos(Succ(x54)))), Pos(Succ(x54)), Neg(x55))) We solved constraint (33) using rule (V) (with possible (I) afterwards).We simplified constraint (34) using rules (I), (II) which results in the following new constraint: (38) (new_primModNatS1(x58, x57)=Succ(x14) ==> new_gcd0Gcd'00(Neg(x58), Neg(Succ(x57)))_>=_new_gcd0Gcd'10(new_esEs0(new_primRemInt(Neg(x58), Neg(Succ(x57)))), Neg(Succ(x57)), Neg(x58))) We solved constraint (35) using rule (V) (with possible (I) afterwards).We solved constraint (36) using rule (V) (with possible (I) afterwards).We simplified constraint (37) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS1(x55, x54)=Succ(x14) which results in the following new constraints: (39) (Succ(Zero)=Succ(x14) ==> new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(Succ(Succ(x61))))_>=_new_gcd0Gcd'10(new_esEs0(new_primRemInt(Neg(Succ(Zero)), Pos(Succ(Succ(x61))))), Pos(Succ(Succ(x61))), Neg(Succ(Zero)))) (40) (new_primModNatS1(new_primMinusNatS1, Zero)=Succ(x14) ==> new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(Succ(Zero)))_>=_new_gcd0Gcd'10(new_esEs0(new_primRemInt(Neg(Succ(Zero)), Pos(Succ(Zero)))), Pos(Succ(Zero)), Neg(Succ(Zero)))) (41) (new_primModNatS1(new_primMinusNatS0(x63), Zero)=Succ(x14) ==> new_gcd0Gcd'00(Neg(Succ(Succ(x63))), Pos(Succ(Zero)))_>=_new_gcd0Gcd'10(new_esEs0(new_primRemInt(Neg(Succ(Succ(x63))), Pos(Succ(Zero)))), Pos(Succ(Zero)), Neg(Succ(Succ(x63))))) (42) (new_primModNatS02(x65, x64, x65, x64)=Succ(x14) ==> new_gcd0Gcd'00(Neg(Succ(Succ(x65))), Pos(Succ(Succ(x64))))_>=_new_gcd0Gcd'10(new_esEs0(new_primRemInt(Neg(Succ(Succ(x65))), Pos(Succ(Succ(x64))))), Pos(Succ(Succ(x64))), Neg(Succ(Succ(x65))))) We simplified constraint (39) using rules (I), (II), (IV) which results in the following new constraint: (43) (new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(Succ(Succ(x61))))_>=_new_gcd0Gcd'10(new_esEs0(new_primRemInt(Neg(Succ(Zero)), Pos(Succ(Succ(x61))))), Pos(Succ(Succ(x61))), Neg(Succ(Zero)))) We simplified constraint (40) using rules (III), (IV), (VII) which results in the following new constraint: (44) (new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(Succ(Zero)))_>=_new_gcd0Gcd'10(new_esEs0(new_primRemInt(Neg(Succ(Zero)), Pos(Succ(Zero)))), Pos(Succ(Zero)), Neg(Succ(Zero)))) We simplified constraint (41) using rules (III), (IV), (VII) which results in the following new constraint: (45) (new_gcd0Gcd'00(Neg(Succ(Succ(x63))), Pos(Succ(Zero)))_>=_new_gcd0Gcd'10(new_esEs0(new_primRemInt(Neg(Succ(Succ(x63))), Pos(Succ(Zero)))), Pos(Succ(Zero)), Neg(Succ(Succ(x63))))) We simplified constraint (42) using rules (III), (IV), (VII) which results in the following new constraint: (46) (new_gcd0Gcd'00(Neg(Succ(Succ(x70))), Pos(Succ(Succ(x71))))_>=_new_gcd0Gcd'10(new_esEs0(new_primRemInt(Neg(Succ(Succ(x70))), Pos(Succ(Succ(x71))))), Pos(Succ(Succ(x71))), Neg(Succ(Succ(x70))))) We simplified constraint (38) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS1(x58, x57)=Succ(x14) which results in the following new constraints: (47) (Succ(Zero)=Succ(x14) ==> new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(Succ(Succ(x72))))_>=_new_gcd0Gcd'10(new_esEs0(new_primRemInt(Neg(Succ(Zero)), Neg(Succ(Succ(x72))))), Neg(Succ(Succ(x72))), Neg(Succ(Zero)))) (48) (new_primModNatS1(new_primMinusNatS1, Zero)=Succ(x14) ==> new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(Succ(Zero)))_>=_new_gcd0Gcd'10(new_esEs0(new_primRemInt(Neg(Succ(Zero)), Neg(Succ(Zero)))), Neg(Succ(Zero)), Neg(Succ(Zero)))) (49) (new_primModNatS1(new_primMinusNatS0(x74), Zero)=Succ(x14) ==> new_gcd0Gcd'00(Neg(Succ(Succ(x74))), Neg(Succ(Zero)))_>=_new_gcd0Gcd'10(new_esEs0(new_primRemInt(Neg(Succ(Succ(x74))), Neg(Succ(Zero)))), Neg(Succ(Zero)), Neg(Succ(Succ(x74))))) (50) (new_primModNatS02(x76, x75, x76, x75)=Succ(x14) ==> new_gcd0Gcd'00(Neg(Succ(Succ(x76))), Neg(Succ(Succ(x75))))_>=_new_gcd0Gcd'10(new_esEs0(new_primRemInt(Neg(Succ(Succ(x76))), Neg(Succ(Succ(x75))))), Neg(Succ(Succ(x75))), Neg(Succ(Succ(x76))))) We simplified constraint (47) using rules (I), (II), (IV) which results in the following new constraint: (51) (new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(Succ(Succ(x72))))_>=_new_gcd0Gcd'10(new_esEs0(new_primRemInt(Neg(Succ(Zero)), Neg(Succ(Succ(x72))))), Neg(Succ(Succ(x72))), Neg(Succ(Zero)))) We simplified constraint (48) using rules (III), (IV), (VII) which results in the following new constraint: (52) (new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(Succ(Zero)))_>=_new_gcd0Gcd'10(new_esEs0(new_primRemInt(Neg(Succ(Zero)), Neg(Succ(Zero)))), Neg(Succ(Zero)), Neg(Succ(Zero)))) We simplified constraint (49) using rules (III), (IV), (VII) which results in the following new constraint: (53) (new_gcd0Gcd'00(Neg(Succ(Succ(x74))), Neg(Succ(Zero)))_>=_new_gcd0Gcd'10(new_esEs0(new_primRemInt(Neg(Succ(Succ(x74))), Neg(Succ(Zero)))), Neg(Succ(Zero)), Neg(Succ(Succ(x74))))) We simplified constraint (50) using rules (III), (IV), (VII) which results in the following new constraint: (54) (new_gcd0Gcd'00(Neg(Succ(Succ(x81))), Neg(Succ(Succ(x82))))_>=_new_gcd0Gcd'10(new_esEs0(new_primRemInt(Neg(Succ(Succ(x81))), Neg(Succ(Succ(x82))))), Neg(Succ(Succ(x82))), Neg(Succ(Succ(x81))))) For Pair new_gcd0Gcd'10(False, vuz74, vuz75) -> new_gcd0Gcd'00(vuz74, new_primRemInt(vuz75, vuz74)) the following chains were created: *We consider the chain new_gcd0Gcd'10(False, x6, x7) -> new_gcd0Gcd'00(x6, new_primRemInt(x7, x6)), new_gcd0Gcd'00(x8, x9) -> new_gcd0Gcd'10(new_esEs0(new_primRemInt(x8, x9)), x9, x8) which results in the following constraint: (1) (new_gcd0Gcd'00(x6, new_primRemInt(x7, x6))=new_gcd0Gcd'00(x8, x9) ==> new_gcd0Gcd'10(False, x6, x7)_>=_new_gcd0Gcd'00(x6, new_primRemInt(x7, x6))) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (new_gcd0Gcd'10(False, x6, x7)_>=_new_gcd0Gcd'00(x6, new_primRemInt(x7, x6))) To summarize, we get the following constraints P__>=_ for the following pairs. *new_gcd0Gcd'00(vuz75, vuz74) -> new_gcd0Gcd'10(new_esEs0(new_primRemInt(vuz75, vuz74)), vuz74, vuz75) *(new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(Succ(Succ(x27))))_>=_new_gcd0Gcd'10(new_esEs0(new_primRemInt(Pos(Succ(Zero)), Neg(Succ(Succ(x27))))), Neg(Succ(Succ(x27))), Pos(Succ(Zero)))) *(new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(Succ(Succ(x38))))_>=_new_gcd0Gcd'10(new_esEs0(new_primRemInt(Pos(Succ(Zero)), Pos(Succ(Succ(x38))))), Pos(Succ(Succ(x38))), Pos(Succ(Zero)))) *(new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(Succ(Succ(x61))))_>=_new_gcd0Gcd'10(new_esEs0(new_primRemInt(Neg(Succ(Zero)), Pos(Succ(Succ(x61))))), Pos(Succ(Succ(x61))), Neg(Succ(Zero)))) *(new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(Succ(Succ(x72))))_>=_new_gcd0Gcd'10(new_esEs0(new_primRemInt(Neg(Succ(Zero)), Neg(Succ(Succ(x72))))), Neg(Succ(Succ(x72))), Neg(Succ(Zero)))) *(new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(Succ(Zero)))_>=_new_gcd0Gcd'10(new_esEs0(new_primRemInt(Pos(Succ(Zero)), Neg(Succ(Zero)))), Neg(Succ(Zero)), Pos(Succ(Zero)))) *(new_gcd0Gcd'00(Pos(Succ(Succ(x29))), Neg(Succ(Zero)))_>=_new_gcd0Gcd'10(new_esEs0(new_primRemInt(Pos(Succ(Succ(x29))), Neg(Succ(Zero)))), Neg(Succ(Zero)), Pos(Succ(Succ(x29))))) *(new_gcd0Gcd'00(Pos(Succ(Succ(x36))), Neg(Succ(Succ(x37))))_>=_new_gcd0Gcd'10(new_esEs0(new_primRemInt(Pos(Succ(Succ(x36))), Neg(Succ(Succ(x37))))), Neg(Succ(Succ(x37))), Pos(Succ(Succ(x36))))) *(new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(Succ(Zero)))_>=_new_gcd0Gcd'10(new_esEs0(new_primRemInt(Pos(Succ(Zero)), Pos(Succ(Zero)))), Pos(Succ(Zero)), Pos(Succ(Zero)))) *(new_gcd0Gcd'00(Pos(Succ(Succ(x40))), Pos(Succ(Zero)))_>=_new_gcd0Gcd'10(new_esEs0(new_primRemInt(Pos(Succ(Succ(x40))), Pos(Succ(Zero)))), Pos(Succ(Zero)), Pos(Succ(Succ(x40))))) *(new_gcd0Gcd'00(Pos(Succ(Succ(x47))), Pos(Succ(Succ(x48))))_>=_new_gcd0Gcd'10(new_esEs0(new_primRemInt(Pos(Succ(Succ(x47))), Pos(Succ(Succ(x48))))), Pos(Succ(Succ(x48))), Pos(Succ(Succ(x47))))) *(new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(Succ(Zero)))_>=_new_gcd0Gcd'10(new_esEs0(new_primRemInt(Neg(Succ(Zero)), Pos(Succ(Zero)))), Pos(Succ(Zero)), Neg(Succ(Zero)))) *(new_gcd0Gcd'00(Neg(Succ(Succ(x63))), Pos(Succ(Zero)))_>=_new_gcd0Gcd'10(new_esEs0(new_primRemInt(Neg(Succ(Succ(x63))), Pos(Succ(Zero)))), Pos(Succ(Zero)), Neg(Succ(Succ(x63))))) *(new_gcd0Gcd'00(Neg(Succ(Succ(x70))), Pos(Succ(Succ(x71))))_>=_new_gcd0Gcd'10(new_esEs0(new_primRemInt(Neg(Succ(Succ(x70))), Pos(Succ(Succ(x71))))), Pos(Succ(Succ(x71))), Neg(Succ(Succ(x70))))) *(new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(Succ(Zero)))_>=_new_gcd0Gcd'10(new_esEs0(new_primRemInt(Neg(Succ(Zero)), Neg(Succ(Zero)))), Neg(Succ(Zero)), Neg(Succ(Zero)))) *(new_gcd0Gcd'00(Neg(Succ(Succ(x74))), Neg(Succ(Zero)))_>=_new_gcd0Gcd'10(new_esEs0(new_primRemInt(Neg(Succ(Succ(x74))), Neg(Succ(Zero)))), Neg(Succ(Zero)), Neg(Succ(Succ(x74))))) *(new_gcd0Gcd'00(Neg(Succ(Succ(x81))), Neg(Succ(Succ(x82))))_>=_new_gcd0Gcd'10(new_esEs0(new_primRemInt(Neg(Succ(Succ(x81))), Neg(Succ(Succ(x82))))), Neg(Succ(Succ(x82))), Neg(Succ(Succ(x81))))) *new_gcd0Gcd'10(False, vuz74, vuz75) -> new_gcd0Gcd'00(vuz74, new_primRemInt(vuz75, vuz74)) *(new_gcd0Gcd'10(False, x6, x7)_>=_new_gcd0Gcd'00(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'00(vuz75, vuz74) -> new_gcd0Gcd'10(new_esEs0(new_primRemInt(vuz75, vuz74)), vuz74, vuz75) new_gcd0Gcd'10(False, vuz74, vuz75) -> new_gcd0Gcd'00(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(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) new_primModNatS01(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS02(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS02(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS02(vuz130, vuz131, Zero, Zero) -> new_primModNatS01(vuz130, vuz131) new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primModNatS02(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz32000) -> Succ(vuz32000) new_esEs0(Pos(Succ(vuz2500))) -> False new_esEs0(Neg(Succ(vuz2500))) -> False new_esEs0(Neg(Zero)) -> True new_esEs0(Pos(Zero)) -> True The set Q consists of the following terms: new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primMinusNatS1 new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_esEs0(Neg(Zero)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_esEs0(Pos(Zero)) new_primModNatS01(x0, x1) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Zero, x0) new_esEs0(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (41) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_gcd0Gcd'00(vuz75, vuz74) -> new_gcd0Gcd'10(new_esEs0(new_primRemInt(vuz75, vuz74)), vuz74, vuz75) at position [0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'00(Pos(x0), Neg(Succ(x1))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Pos(x0)),new_gcd0Gcd'00(Pos(x0), Neg(Succ(x1))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Pos(x0))) (new_gcd0Gcd'00(Pos(x0), Pos(Succ(x1))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Pos(x0)),new_gcd0Gcd'00(Pos(x0), Pos(Succ(x1))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Pos(x0))) (new_gcd0Gcd'00(Neg(x0), Neg(Zero)) -> new_gcd0Gcd'10(new_esEs0(new_error), Neg(Zero), Neg(x0)),new_gcd0Gcd'00(Neg(x0), Neg(Zero)) -> new_gcd0Gcd'10(new_esEs0(new_error), Neg(Zero), Neg(x0))) (new_gcd0Gcd'00(Neg(x0), Pos(Succ(x1))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Neg(x0)),new_gcd0Gcd'00(Neg(x0), Pos(Succ(x1))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Neg(x0))) (new_gcd0Gcd'00(Pos(x0), Pos(Zero)) -> new_gcd0Gcd'10(new_esEs0(new_error), Pos(Zero), Pos(x0)),new_gcd0Gcd'00(Pos(x0), Pos(Zero)) -> new_gcd0Gcd'10(new_esEs0(new_error), Pos(Zero), Pos(x0))) (new_gcd0Gcd'00(Neg(x0), Neg(Succ(x1))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Neg(x0)),new_gcd0Gcd'00(Neg(x0), Neg(Succ(x1))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Neg(x0))) (new_gcd0Gcd'00(Pos(x0), Neg(Zero)) -> new_gcd0Gcd'10(new_esEs0(new_error), Neg(Zero), Pos(x0)),new_gcd0Gcd'00(Pos(x0), Neg(Zero)) -> new_gcd0Gcd'10(new_esEs0(new_error), Neg(Zero), Pos(x0))) (new_gcd0Gcd'00(Neg(x0), Pos(Zero)) -> new_gcd0Gcd'10(new_esEs0(new_error), Pos(Zero), Neg(x0)),new_gcd0Gcd'00(Neg(x0), Pos(Zero)) -> new_gcd0Gcd'10(new_esEs0(new_error), Pos(Zero), Neg(x0))) ---------------------------------------- (42) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'10(False, vuz74, vuz75) -> new_gcd0Gcd'00(vuz74, new_primRemInt(vuz75, vuz74)) new_gcd0Gcd'00(Pos(x0), Neg(Succ(x1))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Pos(x0)) new_gcd0Gcd'00(Pos(x0), Pos(Succ(x1))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Pos(x0)) new_gcd0Gcd'00(Neg(x0), Neg(Zero)) -> new_gcd0Gcd'10(new_esEs0(new_error), Neg(Zero), Neg(x0)) new_gcd0Gcd'00(Neg(x0), Pos(Succ(x1))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Neg(x0)) new_gcd0Gcd'00(Pos(x0), Pos(Zero)) -> new_gcd0Gcd'10(new_esEs0(new_error), Pos(Zero), Pos(x0)) new_gcd0Gcd'00(Neg(x0), Neg(Succ(x1))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Neg(x0)) new_gcd0Gcd'00(Pos(x0), Neg(Zero)) -> new_gcd0Gcd'10(new_esEs0(new_error), Neg(Zero), Pos(x0)) new_gcd0Gcd'00(Neg(x0), Pos(Zero)) -> new_gcd0Gcd'10(new_esEs0(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(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) new_primModNatS01(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS02(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS02(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS02(vuz130, vuz131, Zero, Zero) -> new_primModNatS01(vuz130, vuz131) new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primModNatS02(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz32000) -> Succ(vuz32000) new_esEs0(Pos(Succ(vuz2500))) -> False new_esEs0(Neg(Succ(vuz2500))) -> False new_esEs0(Neg(Zero)) -> True new_esEs0(Pos(Zero)) -> True The set Q consists of the following terms: new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primMinusNatS1 new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_esEs0(Neg(Zero)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_esEs0(Pos(Zero)) new_primModNatS01(x0, x1) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Zero, x0) new_esEs0(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (43) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'00(Neg(x0), Neg(Zero)) -> new_gcd0Gcd'10(new_esEs0(new_error), Neg(Zero), Neg(x0)) at position [0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'00(Neg(x0), Neg(Zero)) -> new_gcd0Gcd'10(new_esEs0(error([])), Neg(Zero), Neg(x0)),new_gcd0Gcd'00(Neg(x0), Neg(Zero)) -> new_gcd0Gcd'10(new_esEs0(error([])), Neg(Zero), Neg(x0))) ---------------------------------------- (44) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'10(False, vuz74, vuz75) -> new_gcd0Gcd'00(vuz74, new_primRemInt(vuz75, vuz74)) new_gcd0Gcd'00(Pos(x0), Neg(Succ(x1))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Pos(x0)) new_gcd0Gcd'00(Pos(x0), Pos(Succ(x1))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Pos(x0)) new_gcd0Gcd'00(Neg(x0), Pos(Succ(x1))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Neg(x0)) new_gcd0Gcd'00(Pos(x0), Pos(Zero)) -> new_gcd0Gcd'10(new_esEs0(new_error), Pos(Zero), Pos(x0)) new_gcd0Gcd'00(Neg(x0), Neg(Succ(x1))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Neg(x0)) new_gcd0Gcd'00(Pos(x0), Neg(Zero)) -> new_gcd0Gcd'10(new_esEs0(new_error), Neg(Zero), Pos(x0)) new_gcd0Gcd'00(Neg(x0), Pos(Zero)) -> new_gcd0Gcd'10(new_esEs0(new_error), Pos(Zero), Neg(x0)) new_gcd0Gcd'00(Neg(x0), Neg(Zero)) -> new_gcd0Gcd'10(new_esEs0(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(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) new_primModNatS01(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS02(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS02(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS02(vuz130, vuz131, Zero, Zero) -> new_primModNatS01(vuz130, vuz131) new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primModNatS02(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz32000) -> Succ(vuz32000) new_esEs0(Pos(Succ(vuz2500))) -> False new_esEs0(Neg(Succ(vuz2500))) -> False new_esEs0(Neg(Zero)) -> True new_esEs0(Pos(Zero)) -> True The set Q consists of the following terms: new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primMinusNatS1 new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_esEs0(Neg(Zero)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_esEs0(Pos(Zero)) new_primModNatS01(x0, x1) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Zero, x0) new_esEs0(Neg(Succ(x0))) 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'00(Pos(x0), Neg(Succ(x1))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Pos(x0)) new_gcd0Gcd'10(False, vuz74, vuz75) -> new_gcd0Gcd'00(vuz74, new_primRemInt(vuz75, vuz74)) new_gcd0Gcd'00(Pos(x0), Pos(Succ(x1))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Pos(x0)) new_gcd0Gcd'00(Neg(x0), Pos(Succ(x1))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Neg(x0)) new_gcd0Gcd'00(Pos(x0), Pos(Zero)) -> new_gcd0Gcd'10(new_esEs0(new_error), Pos(Zero), Pos(x0)) new_gcd0Gcd'00(Neg(x0), Neg(Succ(x1))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Neg(x0)) new_gcd0Gcd'00(Pos(x0), Neg(Zero)) -> new_gcd0Gcd'10(new_esEs0(new_error), Neg(Zero), Pos(x0)) new_gcd0Gcd'00(Neg(x0), Pos(Zero)) -> new_gcd0Gcd'10(new_esEs0(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(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) new_primModNatS01(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS02(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS02(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS02(vuz130, vuz131, Zero, Zero) -> new_primModNatS01(vuz130, vuz131) new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primModNatS02(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz32000) -> Succ(vuz32000) new_esEs0(Pos(Succ(vuz2500))) -> False new_esEs0(Neg(Succ(vuz2500))) -> False new_esEs0(Neg(Zero)) -> True new_esEs0(Pos(Zero)) -> True The set Q consists of the following terms: new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primMinusNatS1 new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_esEs0(Neg(Zero)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_esEs0(Pos(Zero)) new_primModNatS01(x0, x1) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Zero, x0) new_esEs0(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (47) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'00(Pos(x0), Pos(Zero)) -> new_gcd0Gcd'10(new_esEs0(new_error), Pos(Zero), Pos(x0)) at position [0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'00(Pos(x0), Pos(Zero)) -> new_gcd0Gcd'10(new_esEs0(error([])), Pos(Zero), Pos(x0)),new_gcd0Gcd'00(Pos(x0), Pos(Zero)) -> new_gcd0Gcd'10(new_esEs0(error([])), Pos(Zero), Pos(x0))) ---------------------------------------- (48) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'00(Pos(x0), Neg(Succ(x1))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Pos(x0)) new_gcd0Gcd'10(False, vuz74, vuz75) -> new_gcd0Gcd'00(vuz74, new_primRemInt(vuz75, vuz74)) new_gcd0Gcd'00(Pos(x0), Pos(Succ(x1))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Pos(x0)) new_gcd0Gcd'00(Neg(x0), Pos(Succ(x1))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Neg(x0)) new_gcd0Gcd'00(Neg(x0), Neg(Succ(x1))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Neg(x0)) new_gcd0Gcd'00(Pos(x0), Neg(Zero)) -> new_gcd0Gcd'10(new_esEs0(new_error), Neg(Zero), Pos(x0)) new_gcd0Gcd'00(Neg(x0), Pos(Zero)) -> new_gcd0Gcd'10(new_esEs0(new_error), Pos(Zero), Neg(x0)) new_gcd0Gcd'00(Pos(x0), Pos(Zero)) -> new_gcd0Gcd'10(new_esEs0(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(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) new_primModNatS01(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS02(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS02(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS02(vuz130, vuz131, Zero, Zero) -> new_primModNatS01(vuz130, vuz131) new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primModNatS02(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz32000) -> Succ(vuz32000) new_esEs0(Pos(Succ(vuz2500))) -> False new_esEs0(Neg(Succ(vuz2500))) -> False new_esEs0(Neg(Zero)) -> True new_esEs0(Pos(Zero)) -> True The set Q consists of the following terms: new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primMinusNatS1 new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_esEs0(Neg(Zero)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_esEs0(Pos(Zero)) new_primModNatS01(x0, x1) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Zero, x0) new_esEs0(Neg(Succ(x0))) 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'10(False, vuz74, vuz75) -> new_gcd0Gcd'00(vuz74, new_primRemInt(vuz75, vuz74)) new_gcd0Gcd'00(Pos(x0), Neg(Succ(x1))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Pos(x0)) new_gcd0Gcd'00(Pos(x0), Pos(Succ(x1))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Pos(x0)) new_gcd0Gcd'00(Neg(x0), Pos(Succ(x1))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Neg(x0)) new_gcd0Gcd'00(Neg(x0), Neg(Succ(x1))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Neg(x0)) new_gcd0Gcd'00(Pos(x0), Neg(Zero)) -> new_gcd0Gcd'10(new_esEs0(new_error), Neg(Zero), Pos(x0)) new_gcd0Gcd'00(Neg(x0), Pos(Zero)) -> new_gcd0Gcd'10(new_esEs0(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(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) new_primModNatS01(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS02(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS02(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS02(vuz130, vuz131, Zero, Zero) -> new_primModNatS01(vuz130, vuz131) new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primModNatS02(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz32000) -> Succ(vuz32000) new_esEs0(Pos(Succ(vuz2500))) -> False new_esEs0(Neg(Succ(vuz2500))) -> False new_esEs0(Neg(Zero)) -> True new_esEs0(Pos(Zero)) -> True The set Q consists of the following terms: new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primMinusNatS1 new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_esEs0(Neg(Zero)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_esEs0(Pos(Zero)) new_primModNatS01(x0, x1) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Zero, x0) new_esEs0(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (51) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'00(Pos(x0), Neg(Zero)) -> new_gcd0Gcd'10(new_esEs0(new_error), Neg(Zero), Pos(x0)) at position [0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'00(Pos(x0), Neg(Zero)) -> new_gcd0Gcd'10(new_esEs0(error([])), Neg(Zero), Pos(x0)),new_gcd0Gcd'00(Pos(x0), Neg(Zero)) -> new_gcd0Gcd'10(new_esEs0(error([])), Neg(Zero), Pos(x0))) ---------------------------------------- (52) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'10(False, vuz74, vuz75) -> new_gcd0Gcd'00(vuz74, new_primRemInt(vuz75, vuz74)) new_gcd0Gcd'00(Pos(x0), Neg(Succ(x1))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Pos(x0)) new_gcd0Gcd'00(Pos(x0), Pos(Succ(x1))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Pos(x0)) new_gcd0Gcd'00(Neg(x0), Pos(Succ(x1))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Neg(x0)) new_gcd0Gcd'00(Neg(x0), Neg(Succ(x1))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Neg(x0)) new_gcd0Gcd'00(Neg(x0), Pos(Zero)) -> new_gcd0Gcd'10(new_esEs0(new_error), Pos(Zero), Neg(x0)) new_gcd0Gcd'00(Pos(x0), Neg(Zero)) -> new_gcd0Gcd'10(new_esEs0(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(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) new_primModNatS01(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS02(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS02(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS02(vuz130, vuz131, Zero, Zero) -> new_primModNatS01(vuz130, vuz131) new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primModNatS02(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz32000) -> Succ(vuz32000) new_esEs0(Pos(Succ(vuz2500))) -> False new_esEs0(Neg(Succ(vuz2500))) -> False new_esEs0(Neg(Zero)) -> True new_esEs0(Pos(Zero)) -> True The set Q consists of the following terms: new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primMinusNatS1 new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_esEs0(Neg(Zero)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_esEs0(Pos(Zero)) new_primModNatS01(x0, x1) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Zero, x0) new_esEs0(Neg(Succ(x0))) 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'00(Pos(x0), Neg(Succ(x1))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Pos(x0)) new_gcd0Gcd'10(False, vuz74, vuz75) -> new_gcd0Gcd'00(vuz74, new_primRemInt(vuz75, vuz74)) new_gcd0Gcd'00(Pos(x0), Pos(Succ(x1))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Pos(x0)) new_gcd0Gcd'00(Neg(x0), Pos(Succ(x1))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Neg(x0)) new_gcd0Gcd'00(Neg(x0), Neg(Succ(x1))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Neg(x0)) new_gcd0Gcd'00(Neg(x0), Pos(Zero)) -> new_gcd0Gcd'10(new_esEs0(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(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) new_primModNatS01(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS02(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS02(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS02(vuz130, vuz131, Zero, Zero) -> new_primModNatS01(vuz130, vuz131) new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primModNatS02(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz32000) -> Succ(vuz32000) new_esEs0(Pos(Succ(vuz2500))) -> False new_esEs0(Neg(Succ(vuz2500))) -> False new_esEs0(Neg(Zero)) -> True new_esEs0(Pos(Zero)) -> True The set Q consists of the following terms: new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primMinusNatS1 new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_esEs0(Neg(Zero)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_esEs0(Pos(Zero)) new_primModNatS01(x0, x1) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Zero, x0) new_esEs0(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (55) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'00(Neg(x0), Pos(Zero)) -> new_gcd0Gcd'10(new_esEs0(new_error), Pos(Zero), Neg(x0)) at position [0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'00(Neg(x0), Pos(Zero)) -> new_gcd0Gcd'10(new_esEs0(error([])), Pos(Zero), Neg(x0)),new_gcd0Gcd'00(Neg(x0), Pos(Zero)) -> new_gcd0Gcd'10(new_esEs0(error([])), Pos(Zero), Neg(x0))) ---------------------------------------- (56) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'00(Pos(x0), Neg(Succ(x1))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Pos(x0)) new_gcd0Gcd'10(False, vuz74, vuz75) -> new_gcd0Gcd'00(vuz74, new_primRemInt(vuz75, vuz74)) new_gcd0Gcd'00(Pos(x0), Pos(Succ(x1))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Pos(x0)) new_gcd0Gcd'00(Neg(x0), Pos(Succ(x1))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Neg(x0)) new_gcd0Gcd'00(Neg(x0), Neg(Succ(x1))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Neg(x0)) new_gcd0Gcd'00(Neg(x0), Pos(Zero)) -> new_gcd0Gcd'10(new_esEs0(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(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) new_primModNatS01(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS02(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS02(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS02(vuz130, vuz131, Zero, Zero) -> new_primModNatS01(vuz130, vuz131) new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primModNatS02(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz32000) -> Succ(vuz32000) new_esEs0(Pos(Succ(vuz2500))) -> False new_esEs0(Neg(Succ(vuz2500))) -> False new_esEs0(Neg(Zero)) -> True new_esEs0(Pos(Zero)) -> True The set Q consists of the following terms: new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primMinusNatS1 new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_esEs0(Neg(Zero)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_esEs0(Pos(Zero)) new_primModNatS01(x0, x1) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Zero, x0) new_esEs0(Neg(Succ(x0))) 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'10(False, vuz74, vuz75) -> new_gcd0Gcd'00(vuz74, new_primRemInt(vuz75, vuz74)) new_gcd0Gcd'00(Pos(x0), Neg(Succ(x1))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Pos(x0)) new_gcd0Gcd'00(Pos(x0), Pos(Succ(x1))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Pos(x0)) new_gcd0Gcd'00(Neg(x0), Pos(Succ(x1))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Neg(x0)) new_gcd0Gcd'00(Neg(x0), Neg(Succ(x1))) -> new_gcd0Gcd'10(new_esEs0(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(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) new_primModNatS01(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS02(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS02(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS02(vuz130, vuz131, Zero, Zero) -> new_primModNatS01(vuz130, vuz131) new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primModNatS02(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz32000) -> Succ(vuz32000) new_esEs0(Pos(Succ(vuz2500))) -> False new_esEs0(Neg(Succ(vuz2500))) -> False new_esEs0(Neg(Zero)) -> True new_esEs0(Pos(Zero)) -> True The set Q consists of the following terms: new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primMinusNatS1 new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_esEs0(Neg(Zero)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_esEs0(Pos(Zero)) new_primModNatS01(x0, x1) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Zero, x0) new_esEs0(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (59) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_gcd0Gcd'10(False, vuz74, vuz75) -> new_gcd0Gcd'00(vuz74, new_primRemInt(vuz75, vuz74)) at position [1] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'10(False, Neg(Succ(x1)), Pos(x0)) -> new_gcd0Gcd'00(Neg(Succ(x1)), Pos(new_primModNatS1(x0, x1))),new_gcd0Gcd'10(False, Neg(Succ(x1)), Pos(x0)) -> new_gcd0Gcd'00(Neg(Succ(x1)), Pos(new_primModNatS1(x0, x1)))) (new_gcd0Gcd'10(False, Pos(Succ(x1)), Pos(x0)) -> new_gcd0Gcd'00(Pos(Succ(x1)), Pos(new_primModNatS1(x0, x1))),new_gcd0Gcd'10(False, Pos(Succ(x1)), Pos(x0)) -> new_gcd0Gcd'00(Pos(Succ(x1)), Pos(new_primModNatS1(x0, x1)))) (new_gcd0Gcd'10(False, Neg(Zero), Neg(x0)) -> new_gcd0Gcd'00(Neg(Zero), new_error),new_gcd0Gcd'10(False, Neg(Zero), Neg(x0)) -> new_gcd0Gcd'00(Neg(Zero), new_error)) (new_gcd0Gcd'10(False, Pos(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'00(Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))),new_gcd0Gcd'10(False, Pos(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'00(Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1)))) (new_gcd0Gcd'10(False, Pos(Zero), Pos(x0)) -> new_gcd0Gcd'00(Pos(Zero), new_error),new_gcd0Gcd'10(False, Pos(Zero), Pos(x0)) -> new_gcd0Gcd'00(Pos(Zero), new_error)) (new_gcd0Gcd'10(False, Neg(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'00(Neg(Succ(x1)), Neg(new_primModNatS1(x0, x1))),new_gcd0Gcd'10(False, Neg(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'00(Neg(Succ(x1)), Neg(new_primModNatS1(x0, x1)))) (new_gcd0Gcd'10(False, Neg(Zero), Pos(x0)) -> new_gcd0Gcd'00(Neg(Zero), new_error),new_gcd0Gcd'10(False, Neg(Zero), Pos(x0)) -> new_gcd0Gcd'00(Neg(Zero), new_error)) (new_gcd0Gcd'10(False, Pos(Zero), Neg(x0)) -> new_gcd0Gcd'00(Pos(Zero), new_error),new_gcd0Gcd'10(False, Pos(Zero), Neg(x0)) -> new_gcd0Gcd'00(Pos(Zero), new_error)) ---------------------------------------- (60) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'00(Pos(x0), Neg(Succ(x1))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Pos(x0)) new_gcd0Gcd'00(Pos(x0), Pos(Succ(x1))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Pos(x0)) new_gcd0Gcd'00(Neg(x0), Pos(Succ(x1))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Neg(x0)) new_gcd0Gcd'00(Neg(x0), Neg(Succ(x1))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Neg(x0)) new_gcd0Gcd'10(False, Neg(Succ(x1)), Pos(x0)) -> new_gcd0Gcd'00(Neg(Succ(x1)), Pos(new_primModNatS1(x0, x1))) new_gcd0Gcd'10(False, Pos(Succ(x1)), Pos(x0)) -> new_gcd0Gcd'00(Pos(Succ(x1)), Pos(new_primModNatS1(x0, x1))) new_gcd0Gcd'10(False, Neg(Zero), Neg(x0)) -> new_gcd0Gcd'00(Neg(Zero), new_error) new_gcd0Gcd'10(False, Pos(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'00(Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) new_gcd0Gcd'10(False, Pos(Zero), Pos(x0)) -> new_gcd0Gcd'00(Pos(Zero), new_error) new_gcd0Gcd'10(False, Neg(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'00(Neg(Succ(x1)), Neg(new_primModNatS1(x0, x1))) new_gcd0Gcd'10(False, Neg(Zero), Pos(x0)) -> new_gcd0Gcd'00(Neg(Zero), new_error) new_gcd0Gcd'10(False, Pos(Zero), Neg(x0)) -> new_gcd0Gcd'00(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(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) new_primModNatS01(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS02(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS02(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS02(vuz130, vuz131, Zero, Zero) -> new_primModNatS01(vuz130, vuz131) new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primModNatS02(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz32000) -> Succ(vuz32000) new_esEs0(Pos(Succ(vuz2500))) -> False new_esEs0(Neg(Succ(vuz2500))) -> False new_esEs0(Neg(Zero)) -> True new_esEs0(Pos(Zero)) -> True The set Q consists of the following terms: new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primMinusNatS1 new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_esEs0(Neg(Zero)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_esEs0(Pos(Zero)) new_primModNatS01(x0, x1) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Zero, x0) new_esEs0(Neg(Succ(x0))) 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'10(False, Neg(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'00(Neg(Succ(x1)), Neg(new_primModNatS1(x0, x1))) new_gcd0Gcd'00(Neg(x0), Neg(Succ(x1))) -> new_gcd0Gcd'10(new_esEs0(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(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) new_primModNatS01(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS02(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS02(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS02(vuz130, vuz131, Zero, Zero) -> new_primModNatS01(vuz130, vuz131) new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primModNatS02(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz32000) -> Succ(vuz32000) new_esEs0(Pos(Succ(vuz2500))) -> False new_esEs0(Neg(Succ(vuz2500))) -> False new_esEs0(Neg(Zero)) -> True new_esEs0(Pos(Zero)) -> True The set Q consists of the following terms: new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primMinusNatS1 new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_esEs0(Neg(Zero)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_esEs0(Pos(Zero)) new_primModNatS01(x0, x1) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Zero, x0) new_esEs0(Neg(Succ(x0))) 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'10(False, Neg(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'00(Neg(Succ(x1)), Neg(new_primModNatS1(x0, x1))) new_gcd0Gcd'00(Neg(x0), Neg(Succ(x1))) -> new_gcd0Gcd'10(new_esEs0(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(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS02(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS01(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS02(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS02(vuz130, vuz131, Zero, Zero) -> new_primModNatS01(vuz130, vuz131) new_esEs0(Neg(Succ(vuz2500))) -> False new_esEs0(Neg(Zero)) -> True new_primModNatS02(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) new_primMinusNatS0(vuz32000) -> Succ(vuz32000) new_primMinusNatS1 -> Zero The set Q consists of the following terms: new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primMinusNatS1 new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_esEs0(Neg(Zero)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_esEs0(Pos(Zero)) new_primModNatS01(x0, x1) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Zero, x0) new_esEs0(Neg(Succ(x0))) 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'10(False, Neg(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'00(Neg(Succ(x1)), Neg(new_primModNatS1(x0, x1))) new_gcd0Gcd'00(Neg(x0), Neg(Succ(x1))) -> new_gcd0Gcd'10(new_esEs0(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(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS02(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS01(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS02(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS02(vuz130, vuz131, Zero, Zero) -> new_primModNatS01(vuz130, vuz131) new_esEs0(Neg(Succ(vuz2500))) -> False new_esEs0(Neg(Zero)) -> True new_primModNatS02(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) new_primMinusNatS0(vuz32000) -> Succ(vuz32000) new_primMinusNatS1 -> Zero The set Q consists of the following terms: new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primMinusNatS1 new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_esEs0(Neg(Zero)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Zero)) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Zero, x0) new_esEs0(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (68) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_gcd0Gcd'10(False, Neg(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'00(Neg(Succ(x1)), Neg(new_primModNatS1(x0, x1))) at position [1,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Neg(Succ(Zero))),new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Neg(Succ(Zero)))) (new_gcd0Gcd'10(False, Neg(Succ(x0)), Neg(Zero)) -> new_gcd0Gcd'00(Neg(Succ(x0)), Neg(Zero)),new_gcd0Gcd'10(False, Neg(Succ(x0)), Neg(Zero)) -> new_gcd0Gcd'00(Neg(Succ(x0)), Neg(Zero))) (new_gcd0Gcd'10(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))),new_gcd0Gcd'10(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero)))) (new_gcd0Gcd'10(False, Neg(Succ(Zero)), Neg(Succ(Zero))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS1, Zero))),new_gcd0Gcd'10(False, Neg(Succ(Zero)), Neg(Succ(Zero))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS1, Zero)))) (new_gcd0Gcd'10(False, Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))),new_gcd0Gcd'10(False, Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1)))) ---------------------------------------- (69) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'00(Neg(x0), Neg(Succ(x1))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Neg(x0)) new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'10(False, Neg(Succ(x0)), Neg(Zero)) -> new_gcd0Gcd'00(Neg(Succ(x0)), Neg(Zero)) new_gcd0Gcd'10(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))) new_gcd0Gcd'10(False, Neg(Succ(Zero)), Neg(Succ(Zero))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS1, Zero))) new_gcd0Gcd'10(False, Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x1))), Neg(new_primModNatS02(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(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS02(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS01(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS02(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS02(vuz130, vuz131, Zero, Zero) -> new_primModNatS01(vuz130, vuz131) new_esEs0(Neg(Succ(vuz2500))) -> False new_esEs0(Neg(Zero)) -> True new_primModNatS02(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) new_primMinusNatS0(vuz32000) -> Succ(vuz32000) new_primMinusNatS1 -> Zero The set Q consists of the following terms: new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primMinusNatS1 new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_esEs0(Neg(Zero)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Zero)) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Zero, x0) new_esEs0(Neg(Succ(x0))) 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'10(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'00(Neg(x0), Neg(Succ(x1))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Neg(x0)) new_gcd0Gcd'10(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))) new_gcd0Gcd'10(False, Neg(Succ(Zero)), Neg(Succ(Zero))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS1, Zero))) new_gcd0Gcd'10(False, Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x1))), Neg(new_primModNatS02(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(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS02(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS01(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS02(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS02(vuz130, vuz131, Zero, Zero) -> new_primModNatS01(vuz130, vuz131) new_esEs0(Neg(Succ(vuz2500))) -> False new_esEs0(Neg(Zero)) -> True new_primModNatS02(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) new_primMinusNatS0(vuz32000) -> Succ(vuz32000) new_primMinusNatS1 -> Zero The set Q consists of the following terms: new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primMinusNatS1 new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_esEs0(Neg(Zero)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Zero)) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Zero, x0) new_esEs0(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (72) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'10(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'10(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))),new_gcd0Gcd'10(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero)))) ---------------------------------------- (73) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'00(Neg(x0), Neg(Succ(x1))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Neg(x0)) new_gcd0Gcd'10(False, Neg(Succ(Zero)), Neg(Succ(Zero))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS1, Zero))) new_gcd0Gcd'10(False, Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'10(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'00(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(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS02(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS01(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS02(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS02(vuz130, vuz131, Zero, Zero) -> new_primModNatS01(vuz130, vuz131) new_esEs0(Neg(Succ(vuz2500))) -> False new_esEs0(Neg(Zero)) -> True new_primModNatS02(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) new_primMinusNatS0(vuz32000) -> Succ(vuz32000) new_primMinusNatS1 -> Zero The set Q consists of the following terms: new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primMinusNatS1 new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_esEs0(Neg(Zero)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Zero)) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Zero, x0) new_esEs0(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (74) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'10(False, Neg(Succ(Zero)), Neg(Succ(Zero))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS1, Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'10(False, Neg(Succ(Zero)), Neg(Succ(Zero))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(new_primModNatS1(Zero, Zero))),new_gcd0Gcd'10(False, Neg(Succ(Zero)), Neg(Succ(Zero))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(new_primModNatS1(Zero, Zero)))) ---------------------------------------- (75) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'00(Neg(x0), Neg(Succ(x1))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Neg(x0)) new_gcd0Gcd'10(False, Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'10(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'10(False, Neg(Succ(Zero)), Neg(Succ(Zero))) -> new_gcd0Gcd'00(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(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS02(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS01(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS02(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS02(vuz130, vuz131, Zero, Zero) -> new_primModNatS01(vuz130, vuz131) new_esEs0(Neg(Succ(vuz2500))) -> False new_esEs0(Neg(Zero)) -> True new_primModNatS02(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) new_primMinusNatS0(vuz32000) -> Succ(vuz32000) new_primMinusNatS1 -> Zero The set Q consists of the following terms: new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primMinusNatS1 new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_esEs0(Neg(Zero)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Zero)) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Zero, x0) new_esEs0(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (76) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (77) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'00(Neg(x0), Neg(Succ(x1))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Neg(x0)) new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'10(False, Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'10(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'00(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(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS02(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS01(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS02(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS02(vuz130, vuz131, Zero, Zero) -> new_primModNatS01(vuz130, vuz131) new_esEs0(Neg(Succ(vuz2500))) -> False new_esEs0(Neg(Zero)) -> True new_primModNatS02(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) new_primMinusNatS0(vuz32000) -> Succ(vuz32000) new_primMinusNatS1 -> Zero The set Q consists of the following terms: new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primMinusNatS1 new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_esEs0(Neg(Zero)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Zero)) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Zero, x0) new_esEs0(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (78) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_gcd0Gcd'00(Neg(x0), Neg(Succ(x1))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Neg(x0)) at position [0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'10(new_esEs0(Neg(Succ(Zero))), Neg(Succ(Succ(x0))), Neg(Succ(Zero))),new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'10(new_esEs0(Neg(Succ(Zero))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)))) (new_gcd0Gcd'00(Neg(Zero), Neg(Succ(x0))) -> new_gcd0Gcd'10(new_esEs0(Neg(Zero)), Neg(Succ(x0)), Neg(Zero)),new_gcd0Gcd'00(Neg(Zero), Neg(Succ(x0))) -> new_gcd0Gcd'10(new_esEs0(Neg(Zero)), Neg(Succ(x0)), Neg(Zero))) (new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))),new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(x0))))) (new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS1, Zero))), Neg(Succ(Zero)), Neg(Succ(Zero))),new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS1, Zero))), Neg(Succ(Zero)), Neg(Succ(Zero)))) (new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))),new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(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'10(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'10(False, Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'10(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'10(new_esEs0(Neg(Succ(Zero))), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'00(Neg(Zero), Neg(Succ(x0))) -> new_gcd0Gcd'10(new_esEs0(Neg(Zero)), Neg(Succ(x0)), Neg(Zero)) new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS1, Zero))), Neg(Succ(Zero)), Neg(Succ(Zero))) new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primModNatS1(Zero, vuz7400) -> Zero new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS02(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS01(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS02(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS02(vuz130, vuz131, Zero, Zero) -> new_primModNatS01(vuz130, vuz131) new_esEs0(Neg(Succ(vuz2500))) -> False new_esEs0(Neg(Zero)) -> True new_primModNatS02(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) new_primMinusNatS0(vuz32000) -> Succ(vuz32000) new_primMinusNatS1 -> Zero The set Q consists of the following terms: new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primMinusNatS1 new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_esEs0(Neg(Zero)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Zero)) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Zero, x0) new_esEs0(Neg(Succ(x0))) 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'00(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) new_gcd0Gcd'10(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'10(new_esEs0(Neg(Succ(Zero))), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'00(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(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS02(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS01(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS02(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS02(vuz130, vuz131, Zero, Zero) -> new_primModNatS01(vuz130, vuz131) new_esEs0(Neg(Succ(vuz2500))) -> False new_esEs0(Neg(Zero)) -> True new_primModNatS02(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) new_primMinusNatS0(vuz32000) -> Succ(vuz32000) new_primMinusNatS1 -> Zero The set Q consists of the following terms: new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primMinusNatS1 new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_esEs0(Neg(Zero)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Zero)) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Zero, x0) new_esEs0(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (83) UsableRulesProof (EQUIVALENT) As all Q-normal forms are R-normal forms we are in the innermost case. Hence, by the usable rules processor [LPAR04] we can delete all non-usable rules [FROCOS05] from R. ---------------------------------------- (84) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) new_gcd0Gcd'10(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'10(new_esEs0(Neg(Succ(Zero))), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) The TRS R consists of the following rules: new_esEs0(Neg(Succ(vuz2500))) -> False new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) new_primMinusNatS1 -> Zero new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS0(vuz32000) -> Succ(vuz32000) new_esEs0(Neg(Zero)) -> True The set Q consists of the following terms: new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primMinusNatS1 new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_esEs0(Neg(Zero)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Zero)) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Zero, x0) new_esEs0(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (85) QReductionProof (EQUIVALENT) We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) new_primMinusNatS2(Zero, Zero) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) ---------------------------------------- (86) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) new_gcd0Gcd'10(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'10(new_esEs0(Neg(Succ(Zero))), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) The TRS R consists of the following rules: new_esEs0(Neg(Succ(vuz2500))) -> False new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) new_primMinusNatS1 -> Zero new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS0(vuz32000) -> Succ(vuz32000) new_esEs0(Neg(Zero)) -> True The set Q consists of the following terms: new_primMinusNatS0(x0) new_primMinusNatS1 new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs0(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_esEs0(Neg(Zero)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Zero)) new_primModNatS1(Zero, x0) new_esEs0(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (87) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))),new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(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'10(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'10(new_esEs0(Neg(Succ(Zero))), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) The TRS R consists of the following rules: new_esEs0(Neg(Succ(vuz2500))) -> False new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) new_primMinusNatS1 -> Zero new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS0(vuz32000) -> Succ(vuz32000) new_esEs0(Neg(Zero)) -> True The set Q consists of the following terms: new_primMinusNatS0(x0) new_primMinusNatS1 new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs0(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_esEs0(Neg(Zero)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Zero)) new_primModNatS1(Zero, x0) new_esEs0(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (89) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'10(new_esEs0(Neg(Succ(Zero))), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) at position [0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))),new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero)))) ---------------------------------------- (90) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'10(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) The TRS R consists of the following rules: new_esEs0(Neg(Succ(vuz2500))) -> False new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) new_primMinusNatS1 -> Zero new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS0(vuz32000) -> Succ(vuz32000) new_esEs0(Neg(Zero)) -> True The set Q consists of the following terms: new_primMinusNatS0(x0) new_primMinusNatS1 new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs0(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_esEs0(Neg(Zero)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Zero)) new_primModNatS1(Zero, x0) new_esEs0(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (91) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_gcd0Gcd'10(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) at position [1,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'10(False, Neg(Succ(Zero)), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS1, Zero))),new_gcd0Gcd'10(False, Neg(Succ(Zero)), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS1, Zero)))) (new_gcd0Gcd'10(False, Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))),new_gcd0Gcd'10(False, Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero)))) ---------------------------------------- (92) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'10(False, Neg(Succ(Zero)), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS1, Zero))) new_gcd0Gcd'10(False, Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))) The TRS R consists of the following rules: new_esEs0(Neg(Succ(vuz2500))) -> False new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) new_primMinusNatS1 -> Zero new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS0(vuz32000) -> Succ(vuz32000) new_esEs0(Neg(Zero)) -> True The set Q consists of the following terms: new_primMinusNatS0(x0) new_primMinusNatS1 new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs0(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_esEs0(Neg(Zero)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Zero)) new_primModNatS1(Zero, x0) new_esEs0(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (93) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'10(False, Neg(Succ(Zero)), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS1, Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'10(False, Neg(Succ(Zero)), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(new_primModNatS1(Zero, Zero))),new_gcd0Gcd'10(False, Neg(Succ(Zero)), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(new_primModNatS1(Zero, Zero)))) ---------------------------------------- (94) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'10(False, Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))) new_gcd0Gcd'10(False, Neg(Succ(Zero)), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(new_primModNatS1(Zero, Zero))) The TRS R consists of the following rules: new_esEs0(Neg(Succ(vuz2500))) -> False new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) new_primMinusNatS1 -> Zero new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS0(vuz32000) -> Succ(vuz32000) new_esEs0(Neg(Zero)) -> True The set Q consists of the following terms: new_primMinusNatS0(x0) new_primMinusNatS1 new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs0(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_esEs0(Neg(Zero)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Zero)) new_primModNatS1(Zero, x0) new_esEs0(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (95) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (96) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) new_gcd0Gcd'10(False, Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))) new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) The TRS R consists of the following rules: new_esEs0(Neg(Succ(vuz2500))) -> False new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) new_primMinusNatS1 -> Zero new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS0(vuz32000) -> Succ(vuz32000) new_esEs0(Neg(Zero)) -> True The set Q consists of the following terms: new_primMinusNatS0(x0) new_primMinusNatS1 new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs0(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_esEs0(Neg(Zero)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Zero)) new_primModNatS1(Zero, x0) new_esEs0(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (97) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'10(False, Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'10(False, Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))),new_gcd0Gcd'10(False, Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero)))) ---------------------------------------- (98) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'10(False, Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) The TRS R consists of the following rules: new_esEs0(Neg(Succ(vuz2500))) -> False new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) new_primMinusNatS1 -> Zero new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS0(vuz32000) -> Succ(vuz32000) new_esEs0(Neg(Zero)) -> True The set Q consists of the following terms: new_primMinusNatS0(x0) new_primMinusNatS1 new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs0(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_esEs0(Neg(Zero)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Zero)) new_primModNatS1(Zero, x0) new_esEs0(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (99) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(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'00(Neg(Succ(Succ(Zero))), Neg(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS1, Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Zero)))),new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS1, Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Zero))))) (new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))),new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))))) ---------------------------------------- (100) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'10(False, Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS1, Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) The TRS R consists of the following rules: new_esEs0(Neg(Succ(vuz2500))) -> False new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) new_primMinusNatS1 -> Zero new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS0(vuz32000) -> Succ(vuz32000) new_esEs0(Neg(Zero)) -> True The set Q consists of the following terms: new_primMinusNatS0(x0) new_primMinusNatS1 new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs0(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_esEs0(Neg(Zero)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Zero)) new_primModNatS1(Zero, x0) new_esEs0(Neg(Succ(x0))) 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'10(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) new_gcd0Gcd'10(False, Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) The TRS R consists of the following rules: new_esEs0(Neg(Succ(vuz2500))) -> False new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) new_primMinusNatS1 -> Zero new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS0(vuz32000) -> Succ(vuz32000) new_esEs0(Neg(Zero)) -> True The set Q consists of the following terms: new_primMinusNatS0(x0) new_primMinusNatS1 new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs0(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_esEs0(Neg(Zero)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Zero)) new_primModNatS1(Zero, x0) new_esEs0(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (103) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))),new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(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'10(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'10(False, Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) The TRS R consists of the following rules: new_esEs0(Neg(Succ(vuz2500))) -> False new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) new_primMinusNatS1 -> Zero new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS0(vuz32000) -> Succ(vuz32000) new_esEs0(Neg(Zero)) -> True The set Q consists of the following terms: new_primMinusNatS0(x0) new_primMinusNatS1 new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs0(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_esEs0(Neg(Zero)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Zero)) new_primModNatS1(Zero, x0) new_esEs0(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (105) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_gcd0Gcd'10(False, Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) at position [1,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'10(False, Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS1, Zero))),new_gcd0Gcd'10(False, Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS1, Zero)))) (new_gcd0Gcd'10(False, Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))),new_gcd0Gcd'10(False, Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero)))) ---------------------------------------- (106) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) new_gcd0Gcd'10(False, Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS1, Zero))) new_gcd0Gcd'10(False, Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))) The TRS R consists of the following rules: new_esEs0(Neg(Succ(vuz2500))) -> False new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) new_primMinusNatS1 -> Zero new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS0(vuz32000) -> Succ(vuz32000) new_esEs0(Neg(Zero)) -> True The set Q consists of the following terms: new_primMinusNatS0(x0) new_primMinusNatS1 new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs0(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_esEs0(Neg(Zero)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Zero)) new_primModNatS1(Zero, x0) new_esEs0(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (107) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'10(False, Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS1, Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'10(False, Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(new_primModNatS1(Zero, Zero))),new_gcd0Gcd'10(False, Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(new_primModNatS1(Zero, Zero)))) ---------------------------------------- (108) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) new_gcd0Gcd'10(False, Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))) new_gcd0Gcd'10(False, Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(new_primModNatS1(Zero, Zero))) The TRS R consists of the following rules: new_esEs0(Neg(Succ(vuz2500))) -> False new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) new_primMinusNatS1 -> Zero new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS0(vuz32000) -> Succ(vuz32000) new_esEs0(Neg(Zero)) -> True The set Q consists of the following terms: new_primMinusNatS0(x0) new_primMinusNatS1 new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs0(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_esEs0(Neg(Zero)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Zero)) new_primModNatS1(Zero, x0) new_esEs0(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (109) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (110) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) new_gcd0Gcd'10(False, Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))) new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) The TRS R consists of the following rules: new_esEs0(Neg(Succ(vuz2500))) -> False new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) new_primMinusNatS1 -> Zero new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS0(vuz32000) -> Succ(vuz32000) new_esEs0(Neg(Zero)) -> True The set Q consists of the following terms: new_primMinusNatS0(x0) new_primMinusNatS1 new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs0(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_esEs0(Neg(Zero)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Zero)) new_primModNatS1(Zero, x0) new_esEs0(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (111) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'10(False, Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'10(False, Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))),new_gcd0Gcd'10(False, Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero)))) ---------------------------------------- (112) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'10(False, Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) The TRS R consists of the following rules: new_esEs0(Neg(Succ(vuz2500))) -> False new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) new_primMinusNatS1 -> Zero new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS0(vuz32000) -> Succ(vuz32000) new_esEs0(Neg(Zero)) -> True The set Q consists of the following terms: new_primMinusNatS0(x0) new_primMinusNatS1 new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs0(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_esEs0(Neg(Zero)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Zero)) new_primModNatS1(Zero, x0) new_esEs0(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (113) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(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'00(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS1, Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS1, Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Zero)))))) (new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))),new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0))))))) ---------------------------------------- (114) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'10(False, Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS1, Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) The TRS R consists of the following rules: new_esEs0(Neg(Succ(vuz2500))) -> False new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) new_primMinusNatS1 -> Zero new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS0(vuz32000) -> Succ(vuz32000) new_esEs0(Neg(Zero)) -> True The set Q consists of the following terms: new_primMinusNatS0(x0) new_primMinusNatS1 new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs0(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_esEs0(Neg(Zero)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Zero)) new_primModNatS1(Zero, x0) new_esEs0(Neg(Succ(x0))) 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'10(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'10(False, Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) The TRS R consists of the following rules: new_esEs0(Neg(Succ(vuz2500))) -> False new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) new_primMinusNatS1 -> Zero new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS0(vuz32000) -> Succ(vuz32000) new_esEs0(Neg(Zero)) -> True The set Q consists of the following terms: new_primMinusNatS0(x0) new_primMinusNatS1 new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs0(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_esEs0(Neg(Zero)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Zero)) new_primModNatS1(Zero, x0) new_esEs0(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (117) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))),new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(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'10(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'10(False, Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) The TRS R consists of the following rules: new_esEs0(Neg(Succ(vuz2500))) -> False new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) new_primMinusNatS1 -> Zero new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS0(vuz32000) -> Succ(vuz32000) new_esEs0(Neg(Zero)) -> True The set Q consists of the following terms: new_primMinusNatS0(x0) new_primMinusNatS1 new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs0(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_esEs0(Neg(Zero)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Zero)) new_primModNatS1(Zero, x0) new_esEs0(Neg(Succ(x0))) 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)) = 1 + x_1 POL(new_primMinusNatS1) = 1 POL(new_primModNatS1(x_1, x_2)) = x_1 From the DPs we obtained the following set of size-change graphs: *new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(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'00(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'10(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'10(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'00(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'10(False, Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'00(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_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz32000) -> Succ(vuz32000) ---------------------------------------- (120) YES ---------------------------------------- (121) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) new_gcd0Gcd'10(False, Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x1))), Neg(new_primModNatS02(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(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS02(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS01(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS02(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS02(vuz130, vuz131, Zero, Zero) -> new_primModNatS01(vuz130, vuz131) new_esEs0(Neg(Succ(vuz2500))) -> False new_esEs0(Neg(Zero)) -> True new_primModNatS02(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) new_primMinusNatS0(vuz32000) -> Succ(vuz32000) new_primMinusNatS1 -> Zero The set Q consists of the following terms: new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primMinusNatS1 new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_esEs0(Neg(Zero)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Zero)) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Zero, x0) new_esEs0(Neg(Succ(x0))) 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'00(Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) new_gcd0Gcd'10(False, Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS02(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS01(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS02(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS02(vuz130, vuz131, Zero, Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS02(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) new_esEs0(Neg(Succ(vuz2500))) -> False new_esEs0(Neg(Zero)) -> True The set Q consists of the following terms: new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primMinusNatS1 new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_esEs0(Neg(Zero)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Zero)) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Zero, x0) new_esEs0(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (124) QReductionProof (EQUIVALENT) We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. new_primMinusNatS0(x0) new_primMinusNatS1 ---------------------------------------- (125) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) new_gcd0Gcd'10(False, Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS02(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS01(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS02(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS02(vuz130, vuz131, Zero, Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS02(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) new_esEs0(Neg(Succ(vuz2500))) -> False new_esEs0(Neg(Zero)) -> True The set Q consists of the following terms: new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_esEs0(Neg(Zero)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Zero)) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Zero, x0) new_esEs0(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (126) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) at position [0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS01(Succ(x2), Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))),new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS01(Succ(x2), Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))))) (new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))),new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))))) (new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS01(Zero, Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))),new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS01(Zero, Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))))) (new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'10(new_esEs0(Neg(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))),new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'10(new_esEs0(Neg(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))))) ---------------------------------------- (127) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'10(False, Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS01(Succ(x2), Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS01(Zero, Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'10(new_esEs0(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_primModNatS02(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS01(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS02(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS02(vuz130, vuz131, Zero, Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS02(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) new_esEs0(Neg(Succ(vuz2500))) -> False new_esEs0(Neg(Zero)) -> True The set Q consists of the following terms: new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_esEs0(Neg(Zero)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Zero)) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Zero, x0) new_esEs0(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (128) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS01(Succ(x2), Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) at position [0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))),new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS2(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'10(False, Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS01(Zero, Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'10(new_esEs0(Neg(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS02(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS01(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS02(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS02(vuz130, vuz131, Zero, Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS02(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) new_esEs0(Neg(Succ(vuz2500))) -> False new_esEs0(Neg(Zero)) -> True The set Q consists of the following terms: new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_esEs0(Neg(Zero)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Zero)) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Zero, x0) new_esEs0(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (130) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS01(Zero, Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) at position [0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))),new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))))) ---------------------------------------- (131) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'10(False, Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'10(new_esEs0(Neg(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS02(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS01(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS02(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS02(vuz130, vuz131, Zero, Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS02(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) new_esEs0(Neg(Succ(vuz2500))) -> False new_esEs0(Neg(Zero)) -> True The set Q consists of the following terms: new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_esEs0(Neg(Zero)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Zero)) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Zero, x0) new_esEs0(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (132) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'10(new_esEs0(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'00(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))),new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))))) ---------------------------------------- (133) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'10(False, Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'10(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_primModNatS02(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS01(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS02(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS02(vuz130, vuz131, Zero, Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS02(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) new_esEs0(Neg(Succ(vuz2500))) -> False new_esEs0(Neg(Zero)) -> True The set Q consists of the following terms: new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_esEs0(Neg(Zero)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Zero)) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Zero, x0) new_esEs0(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (134) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))),new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS2(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'10(False, Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS02(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS01(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS02(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS02(vuz130, vuz131, Zero, Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS02(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) new_esEs0(Neg(Succ(vuz2500))) -> False new_esEs0(Neg(Zero)) -> True The set Q consists of the following terms: new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_esEs0(Neg(Zero)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Zero)) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Zero, x0) new_esEs0(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (136) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))),new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS2(Zero, 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'10(False, Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS02(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS01(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS02(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS02(vuz130, vuz131, Zero, Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS02(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) new_esEs0(Neg(Succ(vuz2500))) -> False new_esEs0(Neg(Zero)) -> True The set Q consists of the following terms: new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_esEs0(Neg(Zero)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Zero)) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Zero, x0) new_esEs0(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (138) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))),new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(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'10(False, Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(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_primModNatS02(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS01(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS02(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS02(vuz130, vuz131, Zero, Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS02(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) new_esEs0(Neg(Succ(vuz2500))) -> False new_esEs0(Neg(Zero)) -> True The set Q consists of the following terms: new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_esEs0(Neg(Zero)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Zero)) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Zero, x0) new_esEs0(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (140) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Zero, Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))),new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Zero, Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))))) ---------------------------------------- (141) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'10(False, Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(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_primModNatS02(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS01(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS02(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS02(vuz130, vuz131, Zero, Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS02(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) new_esEs0(Neg(Succ(vuz2500))) -> False new_esEs0(Neg(Zero)) -> True The set Q consists of the following terms: new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_esEs0(Neg(Zero)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Zero)) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Zero, x0) new_esEs0(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (142) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(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'00(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Neg(Zero)), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))),new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Neg(Zero)), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))))) ---------------------------------------- (143) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'10(False, Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(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_primModNatS02(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS01(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS02(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS02(vuz130, vuz131, Zero, Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS02(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) new_esEs0(Neg(Succ(vuz2500))) -> False new_esEs0(Neg(Zero)) -> True The set Q consists of the following terms: new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_esEs0(Neg(Zero)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Zero)) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Zero, x0) new_esEs0(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (144) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (145) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'10(False, Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(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_primModNatS02(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS01(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS02(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS02(vuz130, vuz131, Zero, Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS02(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) new_esEs0(Neg(Succ(vuz2500))) -> False new_esEs0(Neg(Zero)) -> True The set Q consists of the following terms: new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_esEs0(Neg(Zero)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Zero)) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Zero, x0) new_esEs0(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (146) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) at position [0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))),new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))))) (new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))),new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2))))))) (new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS01(Succ(Zero), Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS01(Succ(Zero), Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))))) (new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Neg(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Neg(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))))) ---------------------------------------- (147) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'10(False, Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS01(Succ(Zero), Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(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_primModNatS02(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS01(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS02(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS02(vuz130, vuz131, Zero, Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS02(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) new_esEs0(Neg(Succ(vuz2500))) -> False new_esEs0(Neg(Zero)) -> True The set Q consists of the following terms: new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_esEs0(Neg(Zero)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Zero)) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Zero, x0) new_esEs0(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (148) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) at position [0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))),new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))))) ---------------------------------------- (149) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'10(False, Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS01(Succ(Zero), Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Neg(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS02(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS01(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS02(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS02(vuz130, vuz131, Zero, Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS02(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) new_esEs0(Neg(Succ(vuz2500))) -> False new_esEs0(Neg(Zero)) -> True The set Q consists of the following terms: new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_esEs0(Neg(Zero)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Zero)) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Zero, x0) new_esEs0(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (150) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS01(Succ(Zero), Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) at position [0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))))) ---------------------------------------- (151) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'10(False, Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Neg(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS02(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS01(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS02(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS02(vuz130, vuz131, Zero, Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS02(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) new_esEs0(Neg(Succ(vuz2500))) -> False new_esEs0(Neg(Zero)) -> True The set Q consists of the following terms: new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_esEs0(Neg(Zero)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Zero)) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Zero, x0) new_esEs0(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (152) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(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'00(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))))) ---------------------------------------- (153) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'10(False, Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(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_primModNatS02(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS01(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS02(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS02(vuz130, vuz131, Zero, Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS02(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) new_esEs0(Neg(Succ(vuz2500))) -> False new_esEs0(Neg(Zero)) -> True The set Q consists of the following terms: new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_esEs0(Neg(Zero)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Zero)) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Zero, x0) new_esEs0(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (154) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))),new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS2(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'10(False, Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS02(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS01(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS02(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS02(vuz130, vuz131, Zero, Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS02(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) new_esEs0(Neg(Succ(vuz2500))) -> False new_esEs0(Neg(Zero)) -> True The set Q consists of the following terms: new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_esEs0(Neg(Zero)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Zero)) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Zero, x0) new_esEs0(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (156) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(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'10(False, Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS02(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS01(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS02(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS02(vuz130, vuz131, Zero, Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS02(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) new_esEs0(Neg(Succ(vuz2500))) -> False new_esEs0(Neg(Zero)) -> True The set Q consists of the following terms: new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_esEs0(Neg(Zero)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Zero)) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Zero, x0) new_esEs0(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (158) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))),new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS2(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'10(False, Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS02(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS01(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS02(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS02(vuz130, vuz131, Zero, Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS02(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) new_esEs0(Neg(Succ(vuz2500))) -> False new_esEs0(Neg(Zero)) -> True The set Q consists of the following terms: new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_esEs0(Neg(Zero)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Zero)) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Zero, x0) new_esEs0(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (160) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS2(Zero, 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'10(False, Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS02(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS01(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS02(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS02(vuz130, vuz131, Zero, Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS02(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) new_esEs0(Neg(Succ(vuz2500))) -> False new_esEs0(Neg(Zero)) -> True The set Q consists of the following terms: new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_esEs0(Neg(Zero)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Zero)) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Zero, x0) new_esEs0(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (162) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))),new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(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'10(False, Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(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_primModNatS02(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS01(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS02(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS02(vuz130, vuz131, Zero, Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS02(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) new_esEs0(Neg(Succ(vuz2500))) -> False new_esEs0(Neg(Zero)) -> True The set Q consists of the following terms: new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_esEs0(Neg(Zero)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Zero)) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Zero, x0) new_esEs0(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (164) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Zero, Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Zero, Succ(Succ(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'10(False, Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(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_primModNatS02(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS01(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS02(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS02(vuz130, vuz131, Zero, Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS02(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) new_esEs0(Neg(Succ(vuz2500))) -> False new_esEs0(Neg(Zero)) -> True The set Q consists of the following terms: new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_esEs0(Neg(Zero)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Zero)) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Zero, x0) new_esEs0(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (166) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(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'00(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))))) ---------------------------------------- (167) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'10(False, Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(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_primModNatS02(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS01(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS02(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS02(vuz130, vuz131, Zero, Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS02(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) new_esEs0(Neg(Succ(vuz2500))) -> False new_esEs0(Neg(Zero)) -> True The set Q consists of the following terms: new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_esEs0(Neg(Zero)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Zero)) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Zero, x0) new_esEs0(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (168) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (169) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'10(False, Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(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_primModNatS02(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS01(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS02(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS02(vuz130, vuz131, Zero, Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS02(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) new_esEs0(Neg(Succ(vuz2500))) -> False new_esEs0(Neg(Zero)) -> True The set Q consists of the following terms: new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_esEs0(Neg(Zero)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Zero)) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Zero, x0) new_esEs0(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (170) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_gcd0Gcd'10(False, Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) at position [1,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(new_primModNatS01(Succ(x2), Zero))),new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(new_primModNatS01(Succ(x2), Zero)))) (new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))),new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)))) (new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(new_primModNatS01(Zero, Zero))),new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(new_primModNatS01(Zero, Zero)))) (new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))),new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))))) ---------------------------------------- (171) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(new_primModNatS01(Succ(x2), Zero))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(new_primModNatS01(Zero, Zero))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(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_primModNatS02(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS01(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS02(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS02(vuz130, vuz131, Zero, Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS02(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) new_esEs0(Neg(Succ(vuz2500))) -> False new_esEs0(Neg(Zero)) -> True The set Q consists of the following terms: new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_esEs0(Neg(Zero)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Zero)) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Zero, x0) new_esEs0(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (172) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 2 SCCs with 1 less node. ---------------------------------------- (173) Complex Obligation (AND) ---------------------------------------- (174) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(new_primModNatS01(Succ(x2), Zero))) new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'10(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_primModNatS02(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS01(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS02(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS02(vuz130, vuz131, Zero, Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS02(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) new_esEs0(Neg(Succ(vuz2500))) -> False new_esEs0(Neg(Zero)) -> True The set Q consists of the following terms: new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_esEs0(Neg(Zero)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Zero)) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Zero, x0) new_esEs0(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (175) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(new_primModNatS01(Succ(x2), Zero))) at position [1,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))),new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero))))) ---------------------------------------- (176) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS02(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS01(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS02(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS02(vuz130, vuz131, Zero, Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS02(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) new_esEs0(Neg(Succ(vuz2500))) -> False new_esEs0(Neg(Zero)) -> True The set Q consists of the following terms: new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_esEs0(Neg(Zero)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Zero)) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Zero, x0) new_esEs0(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (177) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))),new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero))))) ---------------------------------------- (178) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS02(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS01(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS02(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS02(vuz130, vuz131, Zero, Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS02(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) new_esEs0(Neg(Succ(vuz2500))) -> False new_esEs0(Neg(Zero)) -> True The set Q consists of the following terms: new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_esEs0(Neg(Zero)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Zero)) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Zero, x0) new_esEs0(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (179) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))),new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero))))) ---------------------------------------- (180) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(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_primModNatS02(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS01(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS02(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS02(vuz130, vuz131, Zero, Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS02(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) new_esEs0(Neg(Succ(vuz2500))) -> False new_esEs0(Neg(Zero)) -> True The set Q consists of the following terms: new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_esEs0(Neg(Zero)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Zero)) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Zero, x0) new_esEs0(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (181) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(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'00(Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))),new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0))))))) (new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Neg(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Neg(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero)))))) ---------------------------------------- (182) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(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_primModNatS02(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS01(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS02(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS02(vuz130, vuz131, Zero, Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS02(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) new_esEs0(Neg(Succ(vuz2500))) -> False new_esEs0(Neg(Zero)) -> True The set Q consists of the following terms: new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_esEs0(Neg(Zero)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Zero)) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Zero, x0) new_esEs0(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (183) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Neg(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) at position [0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero)))))) ---------------------------------------- (184) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(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_primModNatS02(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS01(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS02(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS02(vuz130, vuz131, Zero, Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS02(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) new_esEs0(Neg(Succ(vuz2500))) -> False new_esEs0(Neg(Zero)) -> True The set Q consists of the following terms: new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_esEs0(Neg(Zero)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Zero)) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Zero, x0) new_esEs0(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (185) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) at position [1,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))),new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero)))) (new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(Succ(Zero))),new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(Succ(Zero)))) ---------------------------------------- (186) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(Succ(Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS02(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS01(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS02(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS02(vuz130, vuz131, Zero, Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS02(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) new_esEs0(Neg(Succ(vuz2500))) -> False new_esEs0(Neg(Zero)) -> True The set Q consists of the following terms: new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_esEs0(Neg(Zero)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Zero)) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Zero, x0) new_esEs0(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (187) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 2 less nodes. ---------------------------------------- (188) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(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_primModNatS02(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS01(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS02(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS02(vuz130, vuz131, Zero, Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS02(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) new_esEs0(Neg(Succ(vuz2500))) -> False new_esEs0(Neg(Zero)) -> True The set Q consists of the following terms: new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_esEs0(Neg(Zero)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Zero)) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Zero, x0) new_esEs0(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (189) QDPOrderProof (EQUIVALENT) We use the reduction pair processor [LPAR04,JAR06]. The following pairs can be oriented strictly and are deleted. new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) The remaining pairs can at least be oriented weakly. Used ordering: Polynomial interpretation [POLO]: POL(False) = 0 POL(Neg(x_1)) = 2*x_1 POL(Succ(x_1)) = 1 + x_1 POL(True) = 3 POL(Zero) = 0 POL(new_esEs0(x_1)) = 0 POL(new_gcd0Gcd'00(x_1, x_2)) = 2*x_1 + 2*x_2 POL(new_gcd0Gcd'10(x_1, x_2, x_3)) = 2*x_2 + 2*x_3 POL(new_primMinusNatS2(x_1, x_2)) = 1 + x_1 POL(new_primModNatS01(x_1, x_2)) = 3 + x_1 POL(new_primModNatS02(x_1, x_2, x_3, x_4)) = 3 + x_1 POL(new_primModNatS1(x_1, x_2)) = 1 + x_1 The following usable rules [FROCOS05] with respect to the argument filtering of the ordering [JAR06] were oriented: new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS01(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS02(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS02(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS02(vuz130, vuz131, Zero, Zero) -> new_primModNatS01(vuz130, vuz131) new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primModNatS1(Zero, vuz7400) -> Zero new_primModNatS02(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) ---------------------------------------- (190) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(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_primModNatS02(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS01(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS02(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS02(vuz130, vuz131, Zero, Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS02(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) new_esEs0(Neg(Succ(vuz2500))) -> False new_esEs0(Neg(Zero)) -> True The set Q consists of the following terms: new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_esEs0(Neg(Zero)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Zero)) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Zero, x0) new_esEs0(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (191) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 0 SCCs with 3 less nodes. ---------------------------------------- (192) TRUE ---------------------------------------- (193) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(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_primModNatS02(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS01(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS02(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS02(vuz130, vuz131, Zero, Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS02(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) new_esEs0(Neg(Succ(vuz2500))) -> False new_esEs0(Neg(Zero)) -> True The set Q consists of the following terms: new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_esEs0(Neg(Zero)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Zero)) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Zero, x0) new_esEs0(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (194) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) at position [1,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Zero)))),new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Zero))))) (new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))),new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)))) (new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS01(Succ(Zero), Succ(Zero)))),new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS01(Succ(Zero), Succ(Zero))))) (new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))))) ---------------------------------------- (195) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Zero)))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS01(Succ(Zero), Succ(Zero)))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(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_primModNatS02(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS01(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS02(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS02(vuz130, vuz131, Zero, Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS02(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) new_esEs0(Neg(Succ(vuz2500))) -> False new_esEs0(Neg(Zero)) -> True The set Q consists of the following terms: new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_esEs0(Neg(Zero)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Zero)) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Zero, x0) new_esEs0(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (196) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 2 SCCs with 1 less node. ---------------------------------------- (197) Complex Obligation (AND) ---------------------------------------- (198) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Zero)))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(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_primModNatS02(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS01(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS02(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS02(vuz130, vuz131, Zero, Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS02(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) new_esEs0(Neg(Succ(vuz2500))) -> False new_esEs0(Neg(Zero)) -> True The set Q consists of the following terms: new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_esEs0(Neg(Zero)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Zero)) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Zero, x0) new_esEs0(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (199) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Zero)))) at position [1,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))),new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero)))))) ---------------------------------------- (200) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS02(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS01(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS02(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS02(vuz130, vuz131, Zero, Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS02(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) new_esEs0(Neg(Succ(vuz2500))) -> False new_esEs0(Neg(Zero)) -> True The set Q consists of the following terms: new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_esEs0(Neg(Zero)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Zero)) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Zero, x0) new_esEs0(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (201) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))),new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero)))))) ---------------------------------------- (202) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS02(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS01(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS02(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS02(vuz130, vuz131, Zero, Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS02(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) new_esEs0(Neg(Succ(vuz2500))) -> False new_esEs0(Neg(Zero)) -> True The set Q consists of the following terms: new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_esEs0(Neg(Zero)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Zero)) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Zero, x0) new_esEs0(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (203) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))),new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero)))))) ---------------------------------------- (204) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS02(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS01(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS02(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS02(vuz130, vuz131, Zero, Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS02(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) new_esEs0(Neg(Succ(vuz2500))) -> False new_esEs0(Neg(Zero)) -> True The set Q consists of the following terms: new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_esEs0(Neg(Zero)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Zero)) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Zero, x0) new_esEs0(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (205) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))),new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))))) ---------------------------------------- (206) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(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_primModNatS02(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS01(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS02(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS02(vuz130, vuz131, Zero, Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS02(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) new_esEs0(Neg(Succ(vuz2500))) -> False new_esEs0(Neg(Zero)) -> True The set Q consists of the following terms: new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_esEs0(Neg(Zero)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Zero)) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Zero, x0) new_esEs0(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (207) QReductionProof (EQUIVALENT) We deleted the following terms from Q as they contain symbols which do neither occur in P nor in R.[THIEMANN]. new_esEs0(Pos(Succ(x0))) new_esEs0(Pos(Zero)) ---------------------------------------- (208) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(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_primModNatS02(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS01(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS02(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS02(vuz130, vuz131, Zero, Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS02(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) new_esEs0(Neg(Succ(vuz2500))) -> False new_esEs0(Neg(Zero)) -> True The set Q consists of the following terms: new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_esEs0(Neg(Zero)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Zero, x0) new_esEs0(Neg(Succ(x0))) We have to consider all (P,Q,R)-chains. ---------------------------------------- (209) InductionCalculusProof (EQUIVALENT) Note that final constraints are written in bold face. For Pair new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) the following chains were created: *We consider the chain new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x1))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x1))))), Neg(Succ(Succ(Succ(Zero))))), new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) which results in the following constraint: (1) (new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x1))))), Neg(Succ(Succ(Succ(Zero)))))=new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) ==> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x1))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x1))))), Neg(Succ(Succ(Succ(Zero)))))) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x1))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x1))))), Neg(Succ(Succ(Succ(Zero)))))) For Pair new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) the following chains were created: *We consider the chain new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x8))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x8), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x8)))))), new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x9)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x9), Succ(Succ(Zero))))) which results in the following constraint: (1) (new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x8), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x8))))))=new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x9)))))) ==> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x8))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x8), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x8))))))) We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: (2) (Neg(new_primModNatS1(Succ(x8), Succ(Succ(Zero))))=x20 & new_esEs0(x20)=False ==> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x8))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x8), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x8))))))) We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_esEs0(x20)=False which results in the following new constraint: (3) (False=False & Neg(new_primModNatS1(Succ(x8), Succ(Succ(Zero))))=Neg(Succ(x21)) ==> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x8))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x8), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x8))))))) We simplified constraint (3) using rules (I), (II), (VII) which results in the following new constraint: (4) (Succ(x8)=x22 & Succ(Succ(Zero))=x23 & new_primModNatS1(x22, x23)=Succ(x21) ==> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x8))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x8), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x8))))))) We simplified constraint (4) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS1(x22, x23)=Succ(x21) which results in the following new constraints: (5) (new_primModNatS02(x25, x24, x25, x24)=Succ(x21) & Succ(x8)=Succ(Succ(x25)) & Succ(Succ(Zero))=Succ(x24) ==> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x8))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x8), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x8))))))) (6) (Succ(Zero)=Succ(x21) & Succ(x8)=Succ(Zero) & Succ(Succ(Zero))=Succ(x26) ==> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x8))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x8), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x8))))))) We simplified constraint (5) using rules (I), (II), (III), (VII) which results in the following new constraint: (7) (x25=x28 & x24=x29 & new_primModNatS02(x25, x24, x28, x29)=Succ(x21) & Succ(Zero)=x24 ==> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Succ(x25)))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(Succ(x25)), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(x25)))))))) We simplified constraint (6) using rules (I), (II), (III), (IV) which results in the following new constraint: (8) (new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(Zero), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Zero))))))) We simplified constraint (7) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x25, x24, x28, x29)=Succ(x21) which results in the following new constraints: (9) (new_primModNatS01(x32, x31)=Succ(x21) & x32=Succ(x30) & x31=Zero & Succ(Zero)=x31 ==> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Succ(x32)))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(Succ(x32)), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(x32)))))))) (10) (new_primModNatS02(x36, x35, x34, x33)=Succ(x21) & x36=Succ(x34) & x35=Succ(x33) & Succ(Zero)=x35 & (\/x37:new_primModNatS02(x36, x35, x34, x33)=Succ(x37) & x36=x34 & x35=x33 & Succ(Zero)=x35 ==> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Succ(x36)))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(Succ(x36)), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(x36)))))))) ==> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Succ(x36)))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(Succ(x36)), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(x36)))))))) (11) (new_primModNatS01(x39, x38)=Succ(x21) & x39=Zero & x38=Zero & Succ(Zero)=x38 ==> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Succ(x39)))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(Succ(x39)), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(x39)))))))) (12) (Succ(Succ(x42))=Succ(x21) & x42=Zero & x41=Succ(x40) & Succ(Zero)=x41 ==> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Succ(x42)))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(Succ(x42)), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(x42)))))))) We solved constraint (9) using rules (I), (II), (III).We simplified constraint (10) using rules (I), (II), (III), (IV), (VII) which results in the following new constraint: (13) (new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Succ(Succ(x34))))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(Succ(Succ(x34))), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x34))))))))) We solved constraint (11) using rules (I), (II), (III).We simplified constraint (12) using rules (I), (II), (III), (IV) which results in the following new constraint: (14) (new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(Succ(Zero)), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))) For Pair new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) the following chains were created: *We consider the chain new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x10)))))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x10))))), Neg(Succ(Succ(Succ(Zero))))), new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x11))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x11))))), Neg(Succ(Succ(Succ(Zero))))) which results in the following constraint: (1) (new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x10))))), Neg(Succ(Succ(Succ(Zero)))))=new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x11))))), Neg(Succ(Succ(Succ(Zero))))) ==> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x10))))))_>=_new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x10))))), Neg(Succ(Succ(Succ(Zero)))))) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x10))))))_>=_new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x10))))), Neg(Succ(Succ(Succ(Zero)))))) For Pair new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) the following chains were created: *We consider the chain new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x17)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x17), Succ(Succ(Zero))))), new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x18)))))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x18))))), Neg(Succ(Succ(Succ(Zero))))) which results in the following constraint: (1) (new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x17), Succ(Succ(Zero)))))=new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x18)))))) ==> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x17))))))_>=_new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x17), Succ(Succ(Zero)))))) We simplified constraint (1) using rules (I), (II), (VII) which results in the following new constraint: (2) (Succ(x17)=x45 & Succ(Succ(Zero))=x46 & new_primModNatS1(x45, x46)=Succ(Succ(Succ(Succ(x18)))) ==> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x17))))))_>=_new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x17), Succ(Succ(Zero)))))) We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS1(x45, x46)=Succ(Succ(Succ(Succ(x18)))) which results in the following new constraints: (3) (new_primModNatS02(x48, x47, x48, x47)=Succ(Succ(Succ(Succ(x18)))) & Succ(x17)=Succ(Succ(x48)) & Succ(Succ(Zero))=Succ(x47) ==> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x17))))))_>=_new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x17), Succ(Succ(Zero)))))) (4) (Succ(Zero)=Succ(Succ(Succ(Succ(x18)))) & Succ(x17)=Succ(Zero) & Succ(Succ(Zero))=Succ(x49) ==> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x17))))))_>=_new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x17), Succ(Succ(Zero)))))) We simplified constraint (3) using rules (I), (II), (III), (VII) which results in the following new constraint: (5) (x48=x51 & x47=x52 & new_primModNatS02(x48, x47, x51, x52)=Succ(Succ(Succ(Succ(x18)))) & Succ(Zero)=x47 ==> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(x48)))))))_>=_new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(Succ(x48)), Succ(Succ(Zero)))))) We solved constraint (4) using rules (I), (II).We simplified constraint (5) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x48, x47, x51, x52)=Succ(Succ(Succ(Succ(x18)))) which results in the following new constraints: (6) (new_primModNatS01(x55, x54)=Succ(Succ(Succ(Succ(x18)))) & x55=Succ(x53) & x54=Zero & Succ(Zero)=x54 ==> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(x55)))))))_>=_new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(Succ(x55)), Succ(Succ(Zero)))))) (7) (new_primModNatS02(x59, x58, x57, x56)=Succ(Succ(Succ(Succ(x18)))) & x59=Succ(x57) & x58=Succ(x56) & Succ(Zero)=x58 & (\/x60:new_primModNatS02(x59, x58, x57, x56)=Succ(Succ(Succ(Succ(x60)))) & x59=x57 & x58=x56 & Succ(Zero)=x58 ==> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(x59)))))))_>=_new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(Succ(x59)), Succ(Succ(Zero)))))) ==> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(x59)))))))_>=_new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(Succ(x59)), Succ(Succ(Zero)))))) (8) (new_primModNatS01(x62, x61)=Succ(Succ(Succ(Succ(x18)))) & x62=Zero & x61=Zero & Succ(Zero)=x61 ==> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(x62)))))))_>=_new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(Succ(x62)), Succ(Succ(Zero)))))) (9) (Succ(Succ(x65))=Succ(Succ(Succ(Succ(x18)))) & x65=Zero & x64=Succ(x63) & Succ(Zero)=x64 ==> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(x65)))))))_>=_new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(Succ(x65)), Succ(Succ(Zero)))))) We solved constraint (6) using rules (I), (II), (III).We simplified constraint (7) using rules (I), (II), (III), (IV), (VII) which results in the following new constraint: (10) (new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x57))))))))_>=_new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(Succ(Succ(x57))), Succ(Succ(Zero)))))) We solved constraint (8) using rules (I), (II), (III).We solved constraint (9) using rules (I), (II), (III), (IV). To summarize, we get the following constraints P__>=_ for the following pairs. *new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) *(new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x1))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x1))))), Neg(Succ(Succ(Succ(Zero)))))) *new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) *(new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(Succ(Zero)), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))) *(new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(Zero), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Zero))))))) *(new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Succ(Succ(x34))))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(Succ(Succ(x34))), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x34))))))))) *new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) *(new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x10))))))_>=_new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x10))))), Neg(Succ(Succ(Succ(Zero)))))) *new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) *(new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x57))))))))_>=_new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(Succ(Succ(x57))), Succ(Succ(Zero)))))) The constraints for P_> respective P_bound are constructed from P__>=_ where we just replace every occurence of "t _>=_ s" in P__>=_ by "t > s" respective "t _>=_ c". Here c stands for the fresh constant used for P_bound. ---------------------------------------- (210) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(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_primModNatS02(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS01(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS02(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS02(vuz130, vuz131, Zero, Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS02(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) new_esEs0(Neg(Succ(vuz2500))) -> False new_esEs0(Neg(Zero)) -> True The set Q consists of the following terms: new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_esEs0(Neg(Zero)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Zero)) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Zero, x0) new_esEs0(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (211) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS02(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS01(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS02(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS02(vuz130, vuz131, Zero, Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS02(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) new_esEs0(Neg(Succ(vuz2500))) -> False new_esEs0(Neg(Zero)) -> True The set Q consists of the following terms: new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_esEs0(Neg(Zero)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Zero)) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Zero, x0) new_esEs0(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (212) QReductionProof (EQUIVALENT) We deleted the following terms from Q as they contain symbols which do neither occur in P nor in R.[THIEMANN]. new_esEs0(Pos(Succ(x0))) new_esEs0(Pos(Zero)) ---------------------------------------- (213) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS02(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS01(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS02(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS02(vuz130, vuz131, Zero, Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS02(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) new_esEs0(Neg(Succ(vuz2500))) -> False new_esEs0(Neg(Zero)) -> True The set Q consists of the following terms: new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_esEs0(Neg(Zero)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Zero, x0) new_esEs0(Neg(Succ(x0))) We have to consider all (P,Q,R)-chains. ---------------------------------------- (214) InductionCalculusProof (EQUIVALENT) Note that final constraints are written in bold face. For Pair new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) the following chains were created: *We consider the chain new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(new_primModNatS02(Succ(Succ(x3)), Succ(Succ(x2)), x3, x2))), new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x4))))), Neg(Succ(Succ(Succ(Succ(x5)))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(Succ(Succ(x4)), Succ(Succ(x5)), x4, x5))), Neg(Succ(Succ(Succ(Succ(x5))))), Neg(Succ(Succ(Succ(Succ(x4)))))) which results in the following constraint: (1) (new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(new_primModNatS02(Succ(Succ(x3)), Succ(Succ(x2)), x3, x2)))=new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x4))))), Neg(Succ(Succ(Succ(Succ(x5)))))) ==> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))))_>=_new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(new_primModNatS02(Succ(Succ(x3)), Succ(Succ(x2)), x3, x2)))) We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: (2) (Succ(Succ(x3))=x12 & Succ(Succ(x2))=x13 & new_primModNatS02(x12, x13, x3, x2)=Succ(Succ(Succ(Succ(x5)))) ==> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))))_>=_new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(new_primModNatS02(Succ(Succ(x3)), Succ(Succ(x2)), x3, x2)))) We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x12, x13, x3, x2)=Succ(Succ(Succ(Succ(x5)))) which results in the following new constraints: (3) (new_primModNatS01(x16, x15)=Succ(Succ(Succ(Succ(x5)))) & Succ(Succ(Succ(x14)))=x16 & Succ(Succ(Zero))=x15 ==> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Succ(x14)))))))_>=_new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(new_primModNatS02(Succ(Succ(Succ(x14))), Succ(Succ(Zero)), Succ(x14), Zero)))) (4) (new_primModNatS02(x20, x19, x18, x17)=Succ(Succ(Succ(Succ(x5)))) & Succ(Succ(Succ(x18)))=x20 & Succ(Succ(Succ(x17)))=x19 & (\/x21:new_primModNatS02(x20, x19, x18, x17)=Succ(Succ(Succ(Succ(x21)))) & Succ(Succ(x18))=x20 & Succ(Succ(x17))=x19 ==> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x17))))), Neg(Succ(Succ(Succ(Succ(x18))))))_>=_new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x17))))), Neg(new_primModNatS02(Succ(Succ(x18)), Succ(Succ(x17)), x18, x17)))) ==> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(Succ(x17)))))), Neg(Succ(Succ(Succ(Succ(Succ(x18)))))))_>=_new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Succ(x17)))))), Neg(new_primModNatS02(Succ(Succ(Succ(x18))), Succ(Succ(Succ(x17))), Succ(x18), Succ(x17))))) (5) (new_primModNatS01(x23, x22)=Succ(Succ(Succ(Succ(x5)))) & Succ(Succ(Zero))=x23 & Succ(Succ(Zero))=x22 ==> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero)))) (6) (Succ(Succ(x26))=Succ(Succ(Succ(Succ(x5)))) & Succ(Succ(Zero))=x26 & Succ(Succ(Succ(x24)))=x25 ==> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(Succ(x24)))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Succ(x24)))))), Neg(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Succ(x24))), Zero, Succ(x24))))) We simplified constraint (3) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x16, x15)=Succ(Succ(Succ(Succ(x5)))) which results in the following new constraint: (7) (new_primModNatS1(new_primMinusNatS2(Succ(x28), Succ(x27)), Succ(x27))=Succ(Succ(Succ(Succ(x5)))) & Succ(Succ(Succ(x14)))=x28 & Succ(Succ(Zero))=x27 ==> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Succ(x14)))))))_>=_new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(new_primModNatS02(Succ(Succ(Succ(x14))), Succ(Succ(Zero)), Succ(x14), Zero)))) We simplified constraint (4) using rule (IV) which results in the following new constraint: (8) (new_primModNatS02(x20, x19, x18, x17)=Succ(Succ(Succ(Succ(x5)))) & Succ(Succ(Succ(x18)))=x20 & Succ(Succ(Succ(x17)))=x19 ==> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(Succ(x17)))))), Neg(Succ(Succ(Succ(Succ(Succ(x18)))))))_>=_new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Succ(x17)))))), Neg(new_primModNatS02(Succ(Succ(Succ(x18))), Succ(Succ(Succ(x17))), Succ(x18), Succ(x17))))) We simplified constraint (5) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x23, x22)=Succ(Succ(Succ(Succ(x5)))) which results in the following new constraint: (9) (new_primModNatS1(new_primMinusNatS2(Succ(x47), Succ(x46)), Succ(x46))=Succ(Succ(Succ(Succ(x5)))) & Succ(Succ(Zero))=x47 & Succ(Succ(Zero))=x46 ==> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero)))) We simplified constraint (6) using rules (I), (II), (III), (IV) which results in the following new constraint: (10) (new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(Succ(x24)))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Succ(x24)))))), Neg(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Succ(x24))), Zero, Succ(x24))))) We simplified constraint (7) using rules (III), (IV), (VII) which results in the following new constraint: (11) (new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Succ(x14)))))))_>=_new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(new_primModNatS02(Succ(Succ(Succ(x14))), Succ(Succ(Zero)), Succ(x14), Zero)))) We simplified constraint (8) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x20, x19, x18, x17)=Succ(Succ(Succ(Succ(x5)))) which results in the following new constraints: (12) (new_primModNatS01(x35, x34)=Succ(Succ(Succ(Succ(x5)))) & Succ(Succ(Succ(Succ(x33))))=x35 & Succ(Succ(Succ(Zero)))=x34 ==> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x33))))))))_>=_new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(new_primModNatS02(Succ(Succ(Succ(Succ(x33)))), Succ(Succ(Succ(Zero))), Succ(Succ(x33)), Succ(Zero))))) (13) (new_primModNatS02(x39, x38, x37, x36)=Succ(Succ(Succ(Succ(x5)))) & Succ(Succ(Succ(Succ(x37))))=x39 & Succ(Succ(Succ(Succ(x36))))=x38 & (\/x40:new_primModNatS02(x39, x38, x37, x36)=Succ(Succ(Succ(Succ(x40)))) & Succ(Succ(Succ(x37)))=x39 & Succ(Succ(Succ(x36)))=x38 ==> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(Succ(x36)))))), Neg(Succ(Succ(Succ(Succ(Succ(x37)))))))_>=_new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Succ(x36)))))), Neg(new_primModNatS02(Succ(Succ(Succ(x37))), Succ(Succ(Succ(x36))), Succ(x37), Succ(x36))))) ==> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(Succ(Succ(x36))))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x37))))))))_>=_new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Succ(Succ(x36))))))), Neg(new_primModNatS02(Succ(Succ(Succ(Succ(x37)))), Succ(Succ(Succ(Succ(x36)))), Succ(Succ(x37)), Succ(Succ(x36)))))) (14) (new_primModNatS01(x42, x41)=Succ(Succ(Succ(Succ(x5)))) & Succ(Succ(Succ(Zero)))=x42 & Succ(Succ(Succ(Zero)))=x41 ==> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(new_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero))))) (15) (Succ(Succ(x45))=Succ(Succ(Succ(Succ(x5)))) & Succ(Succ(Succ(Zero)))=x45 & Succ(Succ(Succ(Succ(x43))))=x44 ==> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(Succ(Succ(x43))))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Succ(Succ(x43))))))), Neg(new_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Succ(x43)))), Succ(Zero), Succ(Succ(x43)))))) We simplified constraint (12) using rules (III), (IV) which results in the following new constraint: (16) (new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x33))))))))_>=_new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(new_primModNatS02(Succ(Succ(Succ(Succ(x33)))), Succ(Succ(Succ(Zero))), Succ(Succ(x33)), Succ(Zero))))) We simplified constraint (13) using rules (III), (IV) which results in the following new constraint: (17) (new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(Succ(Succ(x36))))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x37))))))))_>=_new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Succ(Succ(x36))))))), Neg(new_primModNatS02(Succ(Succ(Succ(Succ(x37)))), Succ(Succ(Succ(Succ(x36)))), Succ(Succ(x37)), Succ(Succ(x36)))))) We simplified constraint (14) using rules (III), (IV) which results in the following new constraint: (18) (new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(new_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero))))) We simplified constraint (15) using rules (I), (II), (III), (IV) which results in the following new constraint: (19) (new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(Succ(Succ(x43))))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Succ(Succ(x43))))))), Neg(new_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Succ(x43)))), Succ(Zero), Succ(Succ(x43)))))) We simplified constraint (9) using rules (III), (IV), (VII) which results in the following new constraint: (20) (new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero)))) For Pair new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) the following chains were created: *We consider the chain new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x6))))), Neg(Succ(Succ(Succ(Succ(x7)))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(Succ(Succ(x6)), Succ(Succ(x7)), x6, x7))), Neg(Succ(Succ(Succ(Succ(x7))))), Neg(Succ(Succ(Succ(Succ(x6)))))), new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x8))))), Neg(Succ(Succ(Succ(Succ(x9)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x8))))), Neg(new_primModNatS02(Succ(Succ(x9)), Succ(Succ(x8)), x9, x8))) which results in the following constraint: (1) (new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(Succ(Succ(x6)), Succ(Succ(x7)), x6, x7))), Neg(Succ(Succ(Succ(Succ(x7))))), Neg(Succ(Succ(Succ(Succ(x6))))))=new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x8))))), Neg(Succ(Succ(Succ(Succ(x9)))))) ==> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x6))))), Neg(Succ(Succ(Succ(Succ(x7))))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(Succ(Succ(x6)), Succ(Succ(x7)), x6, x7))), Neg(Succ(Succ(Succ(Succ(x7))))), Neg(Succ(Succ(Succ(Succ(x6))))))) We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: (2) (Neg(new_primModNatS02(Succ(Succ(x6)), Succ(Succ(x7)), x6, x7))=x52 & new_esEs0(x52)=False ==> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x6))))), Neg(Succ(Succ(Succ(Succ(x7))))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(Succ(Succ(x6)), Succ(Succ(x7)), x6, x7))), Neg(Succ(Succ(Succ(Succ(x7))))), Neg(Succ(Succ(Succ(Succ(x6))))))) We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_esEs0(x52)=False which results in the following new constraint: (3) (False=False & Neg(new_primModNatS02(Succ(Succ(x6)), Succ(Succ(x7)), x6, x7))=Neg(Succ(x53)) ==> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x6))))), Neg(Succ(Succ(Succ(Succ(x7))))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(Succ(Succ(x6)), Succ(Succ(x7)), x6, x7))), Neg(Succ(Succ(Succ(Succ(x7))))), Neg(Succ(Succ(Succ(Succ(x6))))))) We simplified constraint (3) using rules (I), (II), (VII) which results in the following new constraint: (4) (Succ(Succ(x6))=x54 & Succ(Succ(x7))=x55 & new_primModNatS02(x54, x55, x6, x7)=Succ(x53) ==> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x6))))), Neg(Succ(Succ(Succ(Succ(x7))))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(Succ(Succ(x6)), Succ(Succ(x7)), x6, x7))), Neg(Succ(Succ(Succ(Succ(x7))))), Neg(Succ(Succ(Succ(Succ(x6))))))) We simplified constraint (4) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x54, x55, x6, x7)=Succ(x53) which results in the following new constraints: (5) (new_primModNatS01(x58, x57)=Succ(x53) & Succ(Succ(Succ(x56)))=x58 & Succ(Succ(Zero))=x57 ==> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Succ(x56)))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(Succ(Succ(Succ(x56))), Succ(Succ(Zero)), Succ(x56), Zero))), Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Succ(x56)))))))) (6) (new_primModNatS02(x62, x61, x60, x59)=Succ(x53) & Succ(Succ(Succ(x60)))=x62 & Succ(Succ(Succ(x59)))=x61 & (\/x63:new_primModNatS02(x62, x61, x60, x59)=Succ(x63) & Succ(Succ(x60))=x62 & Succ(Succ(x59))=x61 ==> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x60))))), Neg(Succ(Succ(Succ(Succ(x59))))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(Succ(Succ(x60)), Succ(Succ(x59)), x60, x59))), Neg(Succ(Succ(Succ(Succ(x59))))), Neg(Succ(Succ(Succ(Succ(x60))))))) ==> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Succ(x60)))))), Neg(Succ(Succ(Succ(Succ(Succ(x59)))))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(Succ(Succ(Succ(x60))), Succ(Succ(Succ(x59))), Succ(x60), Succ(x59)))), Neg(Succ(Succ(Succ(Succ(Succ(x59)))))), Neg(Succ(Succ(Succ(Succ(Succ(x60)))))))) (7) (new_primModNatS01(x65, x64)=Succ(x53) & Succ(Succ(Zero))=x65 & Succ(Succ(Zero))=x64 ==> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero))), Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))))) (8) (Succ(Succ(x68))=Succ(x53) & Succ(Succ(Zero))=x68 & Succ(Succ(Succ(x66)))=x67 ==> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Succ(x66)))))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Succ(x66))), Zero, Succ(x66)))), Neg(Succ(Succ(Succ(Succ(Succ(x66)))))), Neg(Succ(Succ(Succ(Succ(Zero))))))) We simplified constraint (5) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x58, x57)=Succ(x53) which results in the following new constraint: (9) (new_primModNatS1(new_primMinusNatS2(Succ(x70), Succ(x69)), Succ(x69))=Succ(x53) & Succ(Succ(Succ(x56)))=x70 & Succ(Succ(Zero))=x69 ==> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Succ(x56)))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(Succ(Succ(Succ(x56))), Succ(Succ(Zero)), Succ(x56), Zero))), Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Succ(x56)))))))) We simplified constraint (6) using rule (IV) which results in the following new constraint: (10) (new_primModNatS02(x62, x61, x60, x59)=Succ(x53) & Succ(Succ(Succ(x60)))=x62 & Succ(Succ(Succ(x59)))=x61 ==> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Succ(x60)))))), Neg(Succ(Succ(Succ(Succ(Succ(x59)))))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(Succ(Succ(Succ(x60))), Succ(Succ(Succ(x59))), Succ(x60), Succ(x59)))), Neg(Succ(Succ(Succ(Succ(Succ(x59)))))), Neg(Succ(Succ(Succ(Succ(Succ(x60)))))))) We simplified constraint (7) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x65, x64)=Succ(x53) which results in the following new constraint: (11) (new_primModNatS1(new_primMinusNatS2(Succ(x89), Succ(x88)), Succ(x88))=Succ(x53) & Succ(Succ(Zero))=x89 & Succ(Succ(Zero))=x88 ==> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero))), Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))))) We simplified constraint (8) using rules (I), (II), (IV) which results in the following new constraint: (12) (new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Succ(x66)))))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Succ(x66))), Zero, Succ(x66)))), Neg(Succ(Succ(Succ(Succ(Succ(x66)))))), Neg(Succ(Succ(Succ(Succ(Zero))))))) We simplified constraint (9) using rules (III), (IV), (VII) which results in the following new constraint: (13) (new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Succ(x56)))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(Succ(Succ(Succ(x56))), Succ(Succ(Zero)), Succ(x56), Zero))), Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Succ(x56)))))))) We simplified constraint (10) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x62, x61, x60, x59)=Succ(x53) which results in the following new constraints: (14) (new_primModNatS01(x77, x76)=Succ(x53) & Succ(Succ(Succ(Succ(x75))))=x77 & Succ(Succ(Succ(Zero)))=x76 ==> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Succ(Succ(x75))))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(Succ(Succ(Succ(Succ(x75)))), Succ(Succ(Succ(Zero))), Succ(Succ(x75)), Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x75))))))))) (15) (new_primModNatS02(x81, x80, x79, x78)=Succ(x53) & Succ(Succ(Succ(Succ(x79))))=x81 & Succ(Succ(Succ(Succ(x78))))=x80 & (\/x82:new_primModNatS02(x81, x80, x79, x78)=Succ(x82) & Succ(Succ(Succ(x79)))=x81 & Succ(Succ(Succ(x78)))=x80 ==> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Succ(x79)))))), Neg(Succ(Succ(Succ(Succ(Succ(x78)))))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(Succ(Succ(Succ(x79))), Succ(Succ(Succ(x78))), Succ(x79), Succ(x78)))), Neg(Succ(Succ(Succ(Succ(Succ(x78)))))), Neg(Succ(Succ(Succ(Succ(Succ(x79)))))))) ==> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Succ(Succ(x79))))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x78))))))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(Succ(Succ(Succ(Succ(x79)))), Succ(Succ(Succ(Succ(x78)))), Succ(Succ(x79)), Succ(Succ(x78))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x78))))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x79))))))))) (16) (new_primModNatS01(x84, x83)=Succ(x53) & Succ(Succ(Succ(Zero)))=x84 & Succ(Succ(Succ(Zero)))=x83 ==> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))) (17) (Succ(Succ(x87))=Succ(x53) & Succ(Succ(Succ(Zero)))=x87 & Succ(Succ(Succ(Succ(x85))))=x86 ==> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x85))))))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Succ(x85)))), Succ(Zero), Succ(Succ(x85))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x85))))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))) We simplified constraint (14) using rules (III), (IV) which results in the following new constraint: (18) (new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Succ(Succ(x75))))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(Succ(Succ(Succ(Succ(x75)))), Succ(Succ(Succ(Zero))), Succ(Succ(x75)), Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x75))))))))) We simplified constraint (15) using rules (III), (IV) which results in the following new constraint: (19) (new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Succ(Succ(x79))))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x78))))))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(Succ(Succ(Succ(Succ(x79)))), Succ(Succ(Succ(Succ(x78)))), Succ(Succ(x79)), Succ(Succ(x78))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x78))))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x79))))))))) We simplified constraint (16) using rules (III), (IV) which results in the following new constraint: (20) (new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))) We simplified constraint (17) using rules (I), (II), (IV) which results in the following new constraint: (21) (new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x85))))))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Succ(x85)))), Succ(Zero), Succ(Succ(x85))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x85))))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))) We simplified constraint (11) using rules (III), (IV), (VII) which results in the following new constraint: (22) (new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero))), Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))))) To summarize, we get the following constraints P__>=_ for the following pairs. *new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) *(new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(Succ(Succ(x43))))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Succ(Succ(x43))))))), Neg(new_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Succ(x43)))), Succ(Zero), Succ(Succ(x43)))))) *(new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(Succ(x24)))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Succ(x24)))))), Neg(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Succ(x24))), Zero, Succ(x24))))) *(new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Succ(x14)))))))_>=_new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(new_primModNatS02(Succ(Succ(Succ(x14))), Succ(Succ(Zero)), Succ(x14), Zero)))) *(new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x33))))))))_>=_new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(new_primModNatS02(Succ(Succ(Succ(Succ(x33)))), Succ(Succ(Succ(Zero))), Succ(Succ(x33)), Succ(Zero))))) *(new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(Succ(Succ(x36))))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x37))))))))_>=_new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Succ(Succ(x36))))))), Neg(new_primModNatS02(Succ(Succ(Succ(Succ(x37)))), Succ(Succ(Succ(Succ(x36)))), Succ(Succ(x37)), Succ(Succ(x36)))))) *(new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(new_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero))))) *(new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero)))) *new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) *(new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x85))))))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Succ(x85)))), Succ(Zero), Succ(Succ(x85))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x85))))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))) *(new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Succ(x66)))))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Succ(x66))), Zero, Succ(x66)))), Neg(Succ(Succ(Succ(Succ(Succ(x66)))))), Neg(Succ(Succ(Succ(Succ(Zero))))))) *(new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Succ(x56)))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(Succ(Succ(Succ(x56))), Succ(Succ(Zero)), Succ(x56), Zero))), Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Succ(x56)))))))) *(new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Succ(Succ(x75))))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(Succ(Succ(Succ(Succ(x75)))), Succ(Succ(Succ(Zero))), Succ(Succ(x75)), Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x75))))))))) *(new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Succ(Succ(x79))))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x78))))))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(Succ(Succ(Succ(Succ(x79)))), Succ(Succ(Succ(Succ(x78)))), Succ(Succ(x79)), Succ(Succ(x78))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x78))))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x79))))))))) *(new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))) *(new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero))), Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))))) The constraints for P_> respective P_bound are constructed from P__>=_ where we just replace every occurence of "t _>=_ s" in P__>=_ by "t > s" respective "t _>=_ c". Here c stands for the fresh constant used for P_bound. ---------------------------------------- (215) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS02(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS01(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS02(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS02(vuz130, vuz131, Zero, Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS02(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) new_esEs0(Neg(Succ(vuz2500))) -> False new_esEs0(Neg(Zero)) -> True The set Q consists of the following terms: new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_esEs0(Neg(Zero)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Zero)) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Zero, x0) new_esEs0(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (216) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'10(False, Pos(Succ(x1)), Pos(x0)) -> new_gcd0Gcd'00(Pos(Succ(x1)), Pos(new_primModNatS1(x0, x1))) new_gcd0Gcd'00(Pos(x0), Pos(Succ(x1))) -> new_gcd0Gcd'10(new_esEs0(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(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) new_primModNatS01(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS02(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS02(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS02(vuz130, vuz131, Zero, Zero) -> new_primModNatS01(vuz130, vuz131) new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primModNatS02(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz32000) -> Succ(vuz32000) new_esEs0(Pos(Succ(vuz2500))) -> False new_esEs0(Neg(Succ(vuz2500))) -> False new_esEs0(Neg(Zero)) -> True new_esEs0(Pos(Zero)) -> True The set Q consists of the following terms: new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primMinusNatS1 new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_esEs0(Neg(Zero)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_esEs0(Pos(Zero)) new_primModNatS01(x0, x1) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Zero, x0) new_esEs0(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (217) 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. ---------------------------------------- (218) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'10(False, Pos(Succ(x1)), Pos(x0)) -> new_gcd0Gcd'00(Pos(Succ(x1)), Pos(new_primModNatS1(x0, x1))) new_gcd0Gcd'00(Pos(x0), Pos(Succ(x1))) -> new_gcd0Gcd'10(new_esEs0(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(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS02(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS01(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS02(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS02(vuz130, vuz131, Zero, Zero) -> new_primModNatS01(vuz130, vuz131) new_esEs0(Pos(Succ(vuz2500))) -> False new_esEs0(Pos(Zero)) -> True new_primModNatS02(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) new_primMinusNatS0(vuz32000) -> Succ(vuz32000) new_primMinusNatS1 -> Zero The set Q consists of the following terms: new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primMinusNatS1 new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_esEs0(Neg(Zero)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_esEs0(Pos(Zero)) new_primModNatS01(x0, x1) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Zero, x0) new_esEs0(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (219) 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))) ---------------------------------------- (220) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'10(False, Pos(Succ(x1)), Pos(x0)) -> new_gcd0Gcd'00(Pos(Succ(x1)), Pos(new_primModNatS1(x0, x1))) new_gcd0Gcd'00(Pos(x0), Pos(Succ(x1))) -> new_gcd0Gcd'10(new_esEs0(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(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS02(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS01(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS02(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS02(vuz130, vuz131, Zero, Zero) -> new_primModNatS01(vuz130, vuz131) new_esEs0(Pos(Succ(vuz2500))) -> False new_esEs0(Pos(Zero)) -> True new_primModNatS02(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) new_primMinusNatS0(vuz32000) -> Succ(vuz32000) new_primMinusNatS1 -> Zero The set Q consists of the following terms: new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primMinusNatS1 new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_esEs0(Neg(Zero)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Zero)) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Zero, x0) new_esEs0(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (221) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_gcd0Gcd'10(False, Pos(Succ(x1)), Pos(x0)) -> new_gcd0Gcd'00(Pos(Succ(x1)), Pos(new_primModNatS1(x0, x1))) at position [1,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'10(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Pos(Succ(Zero))),new_gcd0Gcd'10(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Pos(Succ(Zero)))) (new_gcd0Gcd'10(False, Pos(Succ(x0)), Pos(Zero)) -> new_gcd0Gcd'00(Pos(Succ(x0)), Pos(Zero)),new_gcd0Gcd'10(False, Pos(Succ(x0)), Pos(Zero)) -> new_gcd0Gcd'00(Pos(Succ(x0)), Pos(Zero))) (new_gcd0Gcd'10(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))),new_gcd0Gcd'10(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero)))) (new_gcd0Gcd'10(False, Pos(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS1, Zero))),new_gcd0Gcd'10(False, Pos(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS1, Zero)))) (new_gcd0Gcd'10(False, Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))),new_gcd0Gcd'10(False, Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1)))) ---------------------------------------- (222) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'00(Pos(x0), Pos(Succ(x1))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Pos(x0)) new_gcd0Gcd'10(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'10(False, Pos(Succ(x0)), Pos(Zero)) -> new_gcd0Gcd'00(Pos(Succ(x0)), Pos(Zero)) new_gcd0Gcd'10(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))) new_gcd0Gcd'10(False, Pos(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS1, Zero))) new_gcd0Gcd'10(False, Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Pos(Succ(Succ(x1))), Pos(new_primModNatS02(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(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS02(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS01(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS02(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS02(vuz130, vuz131, Zero, Zero) -> new_primModNatS01(vuz130, vuz131) new_esEs0(Pos(Succ(vuz2500))) -> False new_esEs0(Pos(Zero)) -> True new_primModNatS02(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) new_primMinusNatS0(vuz32000) -> Succ(vuz32000) new_primMinusNatS1 -> Zero The set Q consists of the following terms: new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primMinusNatS1 new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_esEs0(Neg(Zero)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Zero)) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Zero, x0) new_esEs0(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (223) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (224) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'10(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'00(Pos(x0), Pos(Succ(x1))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Pos(x0)) new_gcd0Gcd'10(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))) new_gcd0Gcd'10(False, Pos(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS1, Zero))) new_gcd0Gcd'10(False, Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Pos(Succ(Succ(x1))), Pos(new_primModNatS02(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(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS02(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS01(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS02(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS02(vuz130, vuz131, Zero, Zero) -> new_primModNatS01(vuz130, vuz131) new_esEs0(Pos(Succ(vuz2500))) -> False new_esEs0(Pos(Zero)) -> True new_primModNatS02(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) new_primMinusNatS0(vuz32000) -> Succ(vuz32000) new_primMinusNatS1 -> Zero The set Q consists of the following terms: new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primMinusNatS1 new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_esEs0(Neg(Zero)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Zero)) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Zero, x0) new_esEs0(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (225) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'10(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'10(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))),new_gcd0Gcd'10(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero)))) ---------------------------------------- (226) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'10(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'00(Pos(x0), Pos(Succ(x1))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Pos(x0)) new_gcd0Gcd'10(False, Pos(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS1, Zero))) new_gcd0Gcd'10(False, Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'10(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'00(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(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS02(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS01(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS02(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS02(vuz130, vuz131, Zero, Zero) -> new_primModNatS01(vuz130, vuz131) new_esEs0(Pos(Succ(vuz2500))) -> False new_esEs0(Pos(Zero)) -> True new_primModNatS02(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) new_primMinusNatS0(vuz32000) -> Succ(vuz32000) new_primMinusNatS1 -> Zero The set Q consists of the following terms: new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primMinusNatS1 new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_esEs0(Neg(Zero)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Zero)) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Zero, x0) new_esEs0(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (227) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'10(False, Pos(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS1, Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'10(False, Pos(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(new_primModNatS1(Zero, Zero))),new_gcd0Gcd'10(False, Pos(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(new_primModNatS1(Zero, Zero)))) ---------------------------------------- (228) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'10(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'00(Pos(x0), Pos(Succ(x1))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Pos(x0)) new_gcd0Gcd'10(False, Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'10(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'10(False, Pos(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'00(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(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS02(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS01(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS02(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS02(vuz130, vuz131, Zero, Zero) -> new_primModNatS01(vuz130, vuz131) new_esEs0(Pos(Succ(vuz2500))) -> False new_esEs0(Pos(Zero)) -> True new_primModNatS02(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) new_primMinusNatS0(vuz32000) -> Succ(vuz32000) new_primMinusNatS1 -> Zero The set Q consists of the following terms: new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primMinusNatS1 new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_esEs0(Neg(Zero)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Zero)) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Zero, x0) new_esEs0(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (229) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (230) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'00(Pos(x0), Pos(Succ(x1))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Pos(x0)) new_gcd0Gcd'10(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'10(False, Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'10(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'00(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(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS02(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS01(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS02(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS02(vuz130, vuz131, Zero, Zero) -> new_primModNatS01(vuz130, vuz131) new_esEs0(Pos(Succ(vuz2500))) -> False new_esEs0(Pos(Zero)) -> True new_primModNatS02(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) new_primMinusNatS0(vuz32000) -> Succ(vuz32000) new_primMinusNatS1 -> Zero The set Q consists of the following terms: new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primMinusNatS1 new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_esEs0(Neg(Zero)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Zero)) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Zero, x0) new_esEs0(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (231) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_gcd0Gcd'00(Pos(x0), Pos(Succ(x1))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Pos(x0)) at position [0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'10(new_esEs0(Pos(Succ(Zero))), Pos(Succ(Succ(x0))), Pos(Succ(Zero))),new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'10(new_esEs0(Pos(Succ(Zero))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)))) (new_gcd0Gcd'00(Pos(Zero), Pos(Succ(x0))) -> new_gcd0Gcd'10(new_esEs0(Pos(Zero)), Pos(Succ(x0)), Pos(Zero)),new_gcd0Gcd'00(Pos(Zero), Pos(Succ(x0))) -> new_gcd0Gcd'10(new_esEs0(Pos(Zero)), Pos(Succ(x0)), Pos(Zero))) (new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))),new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(x0))))) (new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS1, Zero))), Pos(Succ(Zero)), Pos(Succ(Zero))),new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS1, Zero))), Pos(Succ(Zero)), Pos(Succ(Zero)))) (new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))),new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0))))) ---------------------------------------- (232) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'10(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'10(False, Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'10(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'10(new_esEs0(Pos(Succ(Zero))), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'00(Pos(Zero), Pos(Succ(x0))) -> new_gcd0Gcd'10(new_esEs0(Pos(Zero)), Pos(Succ(x0)), Pos(Zero)) new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS1, Zero))), Pos(Succ(Zero)), Pos(Succ(Zero))) new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primModNatS1(Zero, vuz7400) -> Zero new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS02(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS01(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS02(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS02(vuz130, vuz131, Zero, Zero) -> new_primModNatS01(vuz130, vuz131) new_esEs0(Pos(Succ(vuz2500))) -> False new_esEs0(Pos(Zero)) -> True new_primModNatS02(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) new_primMinusNatS0(vuz32000) -> Succ(vuz32000) new_primMinusNatS1 -> Zero The set Q consists of the following terms: new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primMinusNatS1 new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_esEs0(Neg(Zero)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Zero)) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Zero, x0) new_esEs0(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (233) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 2 SCCs with 2 less nodes. ---------------------------------------- (234) Complex Obligation (AND) ---------------------------------------- (235) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) new_gcd0Gcd'10(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'10(new_esEs0(Pos(Succ(Zero))), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'10(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'00(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(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS02(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS01(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS02(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS02(vuz130, vuz131, Zero, Zero) -> new_primModNatS01(vuz130, vuz131) new_esEs0(Pos(Succ(vuz2500))) -> False new_esEs0(Pos(Zero)) -> True new_primModNatS02(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) new_primMinusNatS0(vuz32000) -> Succ(vuz32000) new_primMinusNatS1 -> Zero The set Q consists of the following terms: new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primMinusNatS1 new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_esEs0(Neg(Zero)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Zero)) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Zero, x0) new_esEs0(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (236) 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. ---------------------------------------- (237) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) new_gcd0Gcd'10(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'10(new_esEs0(Pos(Succ(Zero))), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'10(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) The TRS R consists of the following rules: new_esEs0(Pos(Succ(vuz2500))) -> False new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) new_primMinusNatS1 -> Zero new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS0(vuz32000) -> Succ(vuz32000) new_esEs0(Pos(Zero)) -> True The set Q consists of the following terms: new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primMinusNatS1 new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_esEs0(Neg(Zero)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Zero)) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Zero, x0) new_esEs0(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (238) 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_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) new_primMinusNatS2(Zero, Zero) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) ---------------------------------------- (239) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) new_gcd0Gcd'10(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'10(new_esEs0(Pos(Succ(Zero))), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'10(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) The TRS R consists of the following rules: new_esEs0(Pos(Succ(vuz2500))) -> False new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) new_primMinusNatS1 -> Zero new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS0(vuz32000) -> Succ(vuz32000) new_esEs0(Pos(Zero)) -> True The set Q consists of the following terms: new_primMinusNatS0(x0) new_primMinusNatS1 new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs0(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_esEs0(Neg(Zero)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Zero)) new_primModNatS1(Zero, x0) new_esEs0(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (240) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))),new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(x0))))) ---------------------------------------- (241) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'10(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'10(new_esEs0(Pos(Succ(Zero))), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'10(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) The TRS R consists of the following rules: new_esEs0(Pos(Succ(vuz2500))) -> False new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) new_primMinusNatS1 -> Zero new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS0(vuz32000) -> Succ(vuz32000) new_esEs0(Pos(Zero)) -> True The set Q consists of the following terms: new_primMinusNatS0(x0) new_primMinusNatS1 new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs0(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_esEs0(Neg(Zero)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Zero)) new_primModNatS1(Zero, x0) new_esEs0(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (242) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'10(new_esEs0(Pos(Succ(Zero))), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) at position [0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))),new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero)))) ---------------------------------------- (243) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'10(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'10(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) The TRS R consists of the following rules: new_esEs0(Pos(Succ(vuz2500))) -> False new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) new_primMinusNatS1 -> Zero new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS0(vuz32000) -> Succ(vuz32000) new_esEs0(Pos(Zero)) -> True The set Q consists of the following terms: new_primMinusNatS0(x0) new_primMinusNatS1 new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs0(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_esEs0(Neg(Zero)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Zero)) new_primModNatS1(Zero, x0) new_esEs0(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (244) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_gcd0Gcd'10(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) at position [1,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'10(False, Pos(Succ(Zero)), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS1, Zero))),new_gcd0Gcd'10(False, Pos(Succ(Zero)), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS1, Zero)))) (new_gcd0Gcd'10(False, Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))),new_gcd0Gcd'10(False, Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero)))) ---------------------------------------- (245) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'10(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'10(False, Pos(Succ(Zero)), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS1, Zero))) new_gcd0Gcd'10(False, Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))) The TRS R consists of the following rules: new_esEs0(Pos(Succ(vuz2500))) -> False new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) new_primMinusNatS1 -> Zero new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS0(vuz32000) -> Succ(vuz32000) new_esEs0(Pos(Zero)) -> True The set Q consists of the following terms: new_primMinusNatS0(x0) new_primMinusNatS1 new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs0(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_esEs0(Neg(Zero)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Zero)) new_primModNatS1(Zero, x0) new_esEs0(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (246) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'10(False, Pos(Succ(Zero)), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS1, Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'10(False, Pos(Succ(Zero)), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(new_primModNatS1(Zero, Zero))),new_gcd0Gcd'10(False, Pos(Succ(Zero)), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(new_primModNatS1(Zero, Zero)))) ---------------------------------------- (247) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'10(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'10(False, Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))) new_gcd0Gcd'10(False, Pos(Succ(Zero)), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(new_primModNatS1(Zero, Zero))) The TRS R consists of the following rules: new_esEs0(Pos(Succ(vuz2500))) -> False new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) new_primMinusNatS1 -> Zero new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS0(vuz32000) -> Succ(vuz32000) new_esEs0(Pos(Zero)) -> True The set Q consists of the following terms: new_primMinusNatS0(x0) new_primMinusNatS1 new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs0(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_esEs0(Neg(Zero)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Zero)) new_primModNatS1(Zero, x0) new_esEs0(Neg(Succ(x0))) 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'00(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) new_gcd0Gcd'10(False, Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))) new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'10(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) The TRS R consists of the following rules: new_esEs0(Pos(Succ(vuz2500))) -> False new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) new_primMinusNatS1 -> Zero new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS0(vuz32000) -> Succ(vuz32000) new_esEs0(Pos(Zero)) -> True The set Q consists of the following terms: new_primMinusNatS0(x0) new_primMinusNatS1 new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs0(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_esEs0(Neg(Zero)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Zero)) new_primModNatS1(Zero, x0) new_esEs0(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (250) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'10(False, Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'10(False, Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))),new_gcd0Gcd'10(False, Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero)))) ---------------------------------------- (251) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'10(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'10(False, Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) The TRS R consists of the following rules: new_esEs0(Pos(Succ(vuz2500))) -> False new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) new_primMinusNatS1 -> Zero new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS0(vuz32000) -> Succ(vuz32000) new_esEs0(Pos(Zero)) -> True The set Q consists of the following terms: new_primMinusNatS0(x0) new_primMinusNatS1 new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs0(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_esEs0(Neg(Zero)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Zero)) new_primModNatS1(Zero, x0) new_esEs0(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (252) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(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'00(Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS1, Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Zero)))),new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS1, Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Zero))))) (new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))),new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))))) ---------------------------------------- (253) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'10(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'10(False, Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS1, Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) The TRS R consists of the following rules: new_esEs0(Pos(Succ(vuz2500))) -> False new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) new_primMinusNatS1 -> Zero new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS0(vuz32000) -> Succ(vuz32000) new_esEs0(Pos(Zero)) -> True The set Q consists of the following terms: new_primMinusNatS0(x0) new_primMinusNatS1 new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs0(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_esEs0(Neg(Zero)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Zero)) new_primModNatS1(Zero, x0) new_esEs0(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (254) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (255) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'10(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) new_gcd0Gcd'10(False, Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) The TRS R consists of the following rules: new_esEs0(Pos(Succ(vuz2500))) -> False new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) new_primMinusNatS1 -> Zero new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS0(vuz32000) -> Succ(vuz32000) new_esEs0(Pos(Zero)) -> True The set Q consists of the following terms: new_primMinusNatS0(x0) new_primMinusNatS1 new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs0(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_esEs0(Neg(Zero)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Zero)) new_primModNatS1(Zero, x0) new_esEs0(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (256) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))),new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))))) ---------------------------------------- (257) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'10(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'10(False, Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) The TRS R consists of the following rules: new_esEs0(Pos(Succ(vuz2500))) -> False new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) new_primMinusNatS1 -> Zero new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS0(vuz32000) -> Succ(vuz32000) new_esEs0(Pos(Zero)) -> True The set Q consists of the following terms: new_primMinusNatS0(x0) new_primMinusNatS1 new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs0(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_esEs0(Neg(Zero)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Zero)) new_primModNatS1(Zero, x0) new_esEs0(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (258) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_gcd0Gcd'10(False, Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) at position [1,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'10(False, Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS1, Zero))),new_gcd0Gcd'10(False, Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS1, Zero)))) (new_gcd0Gcd'10(False, Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))),new_gcd0Gcd'10(False, Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero)))) ---------------------------------------- (259) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'10(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) new_gcd0Gcd'10(False, Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS1, Zero))) new_gcd0Gcd'10(False, Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))) The TRS R consists of the following rules: new_esEs0(Pos(Succ(vuz2500))) -> False new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) new_primMinusNatS1 -> Zero new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS0(vuz32000) -> Succ(vuz32000) new_esEs0(Pos(Zero)) -> True The set Q consists of the following terms: new_primMinusNatS0(x0) new_primMinusNatS1 new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs0(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_esEs0(Neg(Zero)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Zero)) new_primModNatS1(Zero, x0) new_esEs0(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (260) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'10(False, Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS1, Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'10(False, Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(new_primModNatS1(Zero, Zero))),new_gcd0Gcd'10(False, Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(new_primModNatS1(Zero, Zero)))) ---------------------------------------- (261) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'10(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) new_gcd0Gcd'10(False, Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))) new_gcd0Gcd'10(False, Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(new_primModNatS1(Zero, Zero))) The TRS R consists of the following rules: new_esEs0(Pos(Succ(vuz2500))) -> False new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) new_primMinusNatS1 -> Zero new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS0(vuz32000) -> Succ(vuz32000) new_esEs0(Pos(Zero)) -> True The set Q consists of the following terms: new_primMinusNatS0(x0) new_primMinusNatS1 new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs0(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_esEs0(Neg(Zero)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Zero)) new_primModNatS1(Zero, x0) new_esEs0(Neg(Succ(x0))) 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'00(Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) new_gcd0Gcd'10(False, Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))) new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'10(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) The TRS R consists of the following rules: new_esEs0(Pos(Succ(vuz2500))) -> False new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) new_primMinusNatS1 -> Zero new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS0(vuz32000) -> Succ(vuz32000) new_esEs0(Pos(Zero)) -> True The set Q consists of the following terms: new_primMinusNatS0(x0) new_primMinusNatS1 new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs0(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_esEs0(Neg(Zero)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Zero)) new_primModNatS1(Zero, x0) new_esEs0(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (264) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'10(False, Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'10(False, Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))),new_gcd0Gcd'10(False, Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero)))) ---------------------------------------- (265) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'10(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'10(False, Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) The TRS R consists of the following rules: new_esEs0(Pos(Succ(vuz2500))) -> False new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) new_primMinusNatS1 -> Zero new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS0(vuz32000) -> Succ(vuz32000) new_esEs0(Pos(Zero)) -> True The set Q consists of the following terms: new_primMinusNatS0(x0) new_primMinusNatS1 new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs0(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_esEs0(Neg(Zero)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Zero)) new_primModNatS1(Zero, x0) new_esEs0(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (266) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(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'00(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS1, Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS1, Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Zero)))))) (new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))),new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))))) ---------------------------------------- (267) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'10(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'10(False, Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS1, Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) The TRS R consists of the following rules: new_esEs0(Pos(Succ(vuz2500))) -> False new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) new_primMinusNatS1 -> Zero new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS0(vuz32000) -> Succ(vuz32000) new_esEs0(Pos(Zero)) -> True The set Q consists of the following terms: new_primMinusNatS0(x0) new_primMinusNatS1 new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs0(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_esEs0(Neg(Zero)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Zero)) new_primModNatS1(Zero, x0) new_esEs0(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (268) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (269) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'10(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'10(False, Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) The TRS R consists of the following rules: new_esEs0(Pos(Succ(vuz2500))) -> False new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) new_primMinusNatS1 -> Zero new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS0(vuz32000) -> Succ(vuz32000) new_esEs0(Pos(Zero)) -> True The set Q consists of the following terms: new_primMinusNatS0(x0) new_primMinusNatS1 new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs0(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_esEs0(Neg(Zero)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Zero)) new_primModNatS1(Zero, x0) new_esEs0(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (270) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))),new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))))) ---------------------------------------- (271) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'10(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'10(False, Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) The TRS R consists of the following rules: new_esEs0(Pos(Succ(vuz2500))) -> False new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) new_primMinusNatS1 -> Zero new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS0(vuz32000) -> Succ(vuz32000) new_esEs0(Pos(Zero)) -> True The set Q consists of the following terms: new_primMinusNatS0(x0) new_primMinusNatS1 new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs0(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_esEs0(Neg(Zero)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Zero)) new_primModNatS1(Zero, x0) new_esEs0(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (272) QDPSizeChangeProof (EQUIVALENT) We used the following order together with the size-change analysis [AAECC05] to show that there are no infinite chains for this DP problem. Order:Polynomial interpretation [POLO]: POL(False) = 1 POL(Pos(x_1)) = x_1 POL(Succ(x_1)) = 1 + x_1 POL(Zero) = 1 POL(new_primMinusNatS0(x_1)) = 1 + x_1 POL(new_primMinusNatS1) = 1 POL(new_primModNatS1(x_1, x_2)) = x_1 From the DPs we obtained the following set of size-change graphs: *new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(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'00(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'10(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'10(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'00(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'10(False, Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'00(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_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz32000) -> Succ(vuz32000) ---------------------------------------- (273) YES ---------------------------------------- (274) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) new_gcd0Gcd'10(False, Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Pos(Succ(Succ(x1))), Pos(new_primModNatS02(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(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS02(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS01(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS02(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS02(vuz130, vuz131, Zero, Zero) -> new_primModNatS01(vuz130, vuz131) new_esEs0(Pos(Succ(vuz2500))) -> False new_esEs0(Pos(Zero)) -> True new_primModNatS02(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) new_primMinusNatS0(vuz32000) -> Succ(vuz32000) new_primMinusNatS1 -> Zero The set Q consists of the following terms: new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primMinusNatS1 new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_esEs0(Neg(Zero)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Zero)) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Zero, x0) new_esEs0(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (275) 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. ---------------------------------------- (276) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) new_gcd0Gcd'10(False, Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS02(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS01(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS02(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS02(vuz130, vuz131, Zero, Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS02(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) new_esEs0(Pos(Succ(vuz2500))) -> False new_esEs0(Pos(Zero)) -> True The set Q consists of the following terms: new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primMinusNatS1 new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_esEs0(Neg(Zero)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Zero)) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Zero, x0) new_esEs0(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (277) QReductionProof (EQUIVALENT) We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. new_primMinusNatS0(x0) new_primMinusNatS1 ---------------------------------------- (278) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) new_gcd0Gcd'10(False, Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS02(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS01(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS02(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS02(vuz130, vuz131, Zero, Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS02(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) new_esEs0(Pos(Succ(vuz2500))) -> False new_esEs0(Pos(Zero)) -> True The set Q consists of the following terms: new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_esEs0(Neg(Zero)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Zero)) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Zero, x0) new_esEs0(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (279) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) at position [0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS01(Succ(x2), Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))),new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS01(Succ(x2), Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))))) (new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))),new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))))) (new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS01(Zero, Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))),new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS01(Zero, Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))))) (new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'10(new_esEs0(Pos(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))),new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'10(new_esEs0(Pos(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))))) ---------------------------------------- (280) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'10(False, Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS01(Succ(x2), Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS01(Zero, Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'10(new_esEs0(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_primModNatS02(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS01(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS02(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS02(vuz130, vuz131, Zero, Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS02(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) new_esEs0(Pos(Succ(vuz2500))) -> False new_esEs0(Pos(Zero)) -> True The set Q consists of the following terms: new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_esEs0(Neg(Zero)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Zero)) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Zero, x0) new_esEs0(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (281) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS01(Succ(x2), Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) at position [0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))),new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))))) ---------------------------------------- (282) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'10(False, Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS01(Zero, Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'10(new_esEs0(Pos(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS02(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS01(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS02(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS02(vuz130, vuz131, Zero, Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS02(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) new_esEs0(Pos(Succ(vuz2500))) -> False new_esEs0(Pos(Zero)) -> True The set Q consists of the following terms: new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_esEs0(Neg(Zero)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Zero)) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Zero, x0) new_esEs0(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (283) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS01(Zero, Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) at position [0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))),new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(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'10(False, Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'10(new_esEs0(Pos(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS02(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS01(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS02(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS02(vuz130, vuz131, Zero, Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS02(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) new_esEs0(Pos(Succ(vuz2500))) -> False new_esEs0(Pos(Zero)) -> True The set Q consists of the following terms: new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_esEs0(Neg(Zero)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Zero)) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Zero, x0) new_esEs0(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (285) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'10(new_esEs0(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'00(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))),new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))))) ---------------------------------------- (286) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'10(False, Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'10(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_primModNatS02(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS01(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS02(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS02(vuz130, vuz131, Zero, Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS02(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) new_esEs0(Pos(Succ(vuz2500))) -> False new_esEs0(Pos(Zero)) -> True The set Q consists of the following terms: new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_esEs0(Neg(Zero)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Zero)) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Zero, x0) new_esEs0(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (287) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))),new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))))) ---------------------------------------- (288) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'10(False, Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS02(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS01(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS02(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS02(vuz130, vuz131, Zero, Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS02(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) new_esEs0(Pos(Succ(vuz2500))) -> False new_esEs0(Pos(Zero)) -> True The set Q consists of the following terms: new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_esEs0(Neg(Zero)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Zero)) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Zero, x0) new_esEs0(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (289) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))),new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))))) ---------------------------------------- (290) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'10(False, Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS02(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS01(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS02(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS02(vuz130, vuz131, Zero, Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS02(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) new_esEs0(Pos(Succ(vuz2500))) -> False new_esEs0(Pos(Zero)) -> True The set Q consists of the following terms: new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_esEs0(Neg(Zero)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Zero)) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Zero, x0) new_esEs0(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (291) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))),new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))))) ---------------------------------------- (292) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'10(False, Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(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_primModNatS02(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS01(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS02(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS02(vuz130, vuz131, Zero, Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS02(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) new_esEs0(Pos(Succ(vuz2500))) -> False new_esEs0(Pos(Zero)) -> True The set Q consists of the following terms: new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_esEs0(Neg(Zero)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Zero)) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Zero, x0) new_esEs0(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (293) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Zero, Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))),new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Zero, Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))))) ---------------------------------------- (294) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'10(False, Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(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_primModNatS02(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS01(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS02(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS02(vuz130, vuz131, Zero, Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS02(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) new_esEs0(Pos(Succ(vuz2500))) -> False new_esEs0(Pos(Zero)) -> True The set Q consists of the following terms: new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_esEs0(Neg(Zero)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Zero)) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Zero, x0) new_esEs0(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (295) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(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'00(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))),new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))))) ---------------------------------------- (296) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'10(False, Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(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_primModNatS02(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS01(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS02(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS02(vuz130, vuz131, Zero, Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS02(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) new_esEs0(Pos(Succ(vuz2500))) -> False new_esEs0(Pos(Zero)) -> True The set Q consists of the following terms: new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_esEs0(Neg(Zero)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Zero)) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Zero, x0) new_esEs0(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (297) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (298) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'10(False, Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(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_primModNatS02(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS01(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS02(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS02(vuz130, vuz131, Zero, Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS02(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) new_esEs0(Pos(Succ(vuz2500))) -> False new_esEs0(Pos(Zero)) -> True The set Q consists of the following terms: new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_esEs0(Neg(Zero)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Zero)) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Zero, x0) new_esEs0(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (299) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) at position [0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))),new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))))) (new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))),new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))))) (new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS01(Succ(Zero), Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS01(Succ(Zero), Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))))) (new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Pos(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Pos(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))))) ---------------------------------------- (300) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'10(False, Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS01(Succ(Zero), Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(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_primModNatS02(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS01(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS02(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS02(vuz130, vuz131, Zero, Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS02(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) new_esEs0(Pos(Succ(vuz2500))) -> False new_esEs0(Pos(Zero)) -> True The set Q consists of the following terms: new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_esEs0(Neg(Zero)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Zero)) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Zero, x0) new_esEs0(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (301) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) at position [0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))),new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))))) ---------------------------------------- (302) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'10(False, Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS01(Succ(Zero), Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Pos(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS02(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS01(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS02(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS02(vuz130, vuz131, Zero, Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS02(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) new_esEs0(Pos(Succ(vuz2500))) -> False new_esEs0(Pos(Zero)) -> True The set Q consists of the following terms: new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_esEs0(Neg(Zero)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Zero)) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Zero, x0) new_esEs0(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (303) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS01(Succ(Zero), Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) at position [0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Zero)), Succ(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'10(False, Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Pos(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS02(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS01(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS02(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS02(vuz130, vuz131, Zero, Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS02(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) new_esEs0(Pos(Succ(vuz2500))) -> False new_esEs0(Pos(Zero)) -> True The set Q consists of the following terms: new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_esEs0(Neg(Zero)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Zero)) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Zero, x0) new_esEs0(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (305) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(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'00(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))))) ---------------------------------------- (306) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'10(False, Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(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_primModNatS02(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS01(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS02(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS02(vuz130, vuz131, Zero, Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS02(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) new_esEs0(Pos(Succ(vuz2500))) -> False new_esEs0(Pos(Zero)) -> True The set Q consists of the following terms: new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_esEs0(Neg(Zero)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Zero)) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Zero, x0) new_esEs0(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (307) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))),new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))))) ---------------------------------------- (308) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'10(False, Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS02(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS01(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS02(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS02(vuz130, vuz131, Zero, Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS02(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) new_esEs0(Pos(Succ(vuz2500))) -> False new_esEs0(Pos(Zero)) -> True The set Q consists of the following terms: new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_esEs0(Neg(Zero)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Zero)) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Zero, x0) new_esEs0(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (309) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))))) ---------------------------------------- (310) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'10(False, Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS02(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS01(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS02(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS02(vuz130, vuz131, Zero, Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS02(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) new_esEs0(Pos(Succ(vuz2500))) -> False new_esEs0(Pos(Zero)) -> True The set Q consists of the following terms: new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_esEs0(Neg(Zero)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Zero)) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Zero, x0) new_esEs0(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (311) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))),new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))))) ---------------------------------------- (312) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'10(False, Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS02(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS01(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS02(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS02(vuz130, vuz131, Zero, Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS02(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) new_esEs0(Pos(Succ(vuz2500))) -> False new_esEs0(Pos(Zero)) -> True The set Q consists of the following terms: new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_esEs0(Neg(Zero)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Zero)) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Zero, x0) new_esEs0(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (313) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))))) ---------------------------------------- (314) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'10(False, Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS02(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS01(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS02(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS02(vuz130, vuz131, Zero, Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS02(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) new_esEs0(Pos(Succ(vuz2500))) -> False new_esEs0(Pos(Zero)) -> True The set Q consists of the following terms: new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_esEs0(Neg(Zero)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Zero)) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Zero, x0) new_esEs0(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (315) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))),new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))))) ---------------------------------------- (316) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'10(False, Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(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_primModNatS02(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS01(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS02(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS02(vuz130, vuz131, Zero, Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS02(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) new_esEs0(Pos(Succ(vuz2500))) -> False new_esEs0(Pos(Zero)) -> True The set Q consists of the following terms: new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_esEs0(Neg(Zero)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Zero)) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Zero, x0) new_esEs0(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (317) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Zero, Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Zero, Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))))) ---------------------------------------- (318) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'10(False, Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(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_primModNatS02(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS01(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS02(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS02(vuz130, vuz131, Zero, Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS02(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) new_esEs0(Pos(Succ(vuz2500))) -> False new_esEs0(Pos(Zero)) -> True The set Q consists of the following terms: new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_esEs0(Neg(Zero)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Zero)) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Zero, x0) new_esEs0(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (319) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(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'00(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))))) ---------------------------------------- (320) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'10(False, Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(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_primModNatS02(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS01(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS02(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS02(vuz130, vuz131, Zero, Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS02(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) new_esEs0(Pos(Succ(vuz2500))) -> False new_esEs0(Pos(Zero)) -> True The set Q consists of the following terms: new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_esEs0(Neg(Zero)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Zero)) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Zero, x0) new_esEs0(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (321) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (322) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'10(False, Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(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_primModNatS02(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS01(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS02(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS02(vuz130, vuz131, Zero, Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS02(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) new_esEs0(Pos(Succ(vuz2500))) -> False new_esEs0(Pos(Zero)) -> True The set Q consists of the following terms: new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_esEs0(Neg(Zero)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Zero)) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Zero, x0) new_esEs0(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (323) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_gcd0Gcd'10(False, Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) at position [1,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'10(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(new_primModNatS01(Succ(x2), Zero))),new_gcd0Gcd'10(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(new_primModNatS01(Succ(x2), Zero)))) (new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))),new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)))) (new_gcd0Gcd'10(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(new_primModNatS01(Zero, Zero))),new_gcd0Gcd'10(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(new_primModNatS01(Zero, Zero)))) (new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))),new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))))) ---------------------------------------- (324) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'10(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(new_primModNatS01(Succ(x2), Zero))) new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'10(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(new_primModNatS01(Zero, Zero))) new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(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_primModNatS02(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS01(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS02(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS02(vuz130, vuz131, Zero, Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS02(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) new_esEs0(Pos(Succ(vuz2500))) -> False new_esEs0(Pos(Zero)) -> True The set Q consists of the following terms: new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_esEs0(Neg(Zero)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Zero)) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Zero, x0) new_esEs0(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (325) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 2 SCCs with 1 less node. ---------------------------------------- (326) Complex Obligation (AND) ---------------------------------------- (327) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'10(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(new_primModNatS01(Succ(x2), Zero))) new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'10(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_primModNatS02(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS01(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS02(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS02(vuz130, vuz131, Zero, Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS02(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) new_esEs0(Pos(Succ(vuz2500))) -> False new_esEs0(Pos(Zero)) -> True The set Q consists of the following terms: new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_esEs0(Neg(Zero)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Zero)) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Zero, x0) new_esEs0(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (328) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'10(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(new_primModNatS01(Succ(x2), Zero))) at position [1,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'10(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))),new_gcd0Gcd'10(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero))))) ---------------------------------------- (329) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'10(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS02(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS01(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS02(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS02(vuz130, vuz131, Zero, Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS02(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) new_esEs0(Pos(Succ(vuz2500))) -> False new_esEs0(Pos(Zero)) -> True The set Q consists of the following terms: new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_esEs0(Neg(Zero)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Zero)) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Zero, x0) new_esEs0(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (330) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'10(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'10(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))),new_gcd0Gcd'10(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero))))) ---------------------------------------- (331) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'10(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS02(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS01(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS02(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS02(vuz130, vuz131, Zero, Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS02(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) new_esEs0(Pos(Succ(vuz2500))) -> False new_esEs0(Pos(Zero)) -> True The set Q consists of the following terms: new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_esEs0(Neg(Zero)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Zero)) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Zero, x0) new_esEs0(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (332) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'10(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'10(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))),new_gcd0Gcd'10(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero))))) ---------------------------------------- (333) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'10(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(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_primModNatS02(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS01(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS02(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS02(vuz130, vuz131, Zero, Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS02(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) new_esEs0(Pos(Succ(vuz2500))) -> False new_esEs0(Pos(Zero)) -> True The set Q consists of the following terms: new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_esEs0(Neg(Zero)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Zero)) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Zero, x0) new_esEs0(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (334) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(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'00(Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))),new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))))) (new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Pos(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Pos(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))))) ---------------------------------------- (335) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'10(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(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_primModNatS02(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS01(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS02(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS02(vuz130, vuz131, Zero, Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS02(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) new_esEs0(Pos(Succ(vuz2500))) -> False new_esEs0(Pos(Zero)) -> True The set Q consists of the following terms: new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_esEs0(Neg(Zero)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Zero)) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Zero, x0) new_esEs0(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (336) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Pos(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) at position [0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))))) ---------------------------------------- (337) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'10(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(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_primModNatS02(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS01(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS02(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS02(vuz130, vuz131, Zero, Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS02(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) new_esEs0(Pos(Succ(vuz2500))) -> False new_esEs0(Pos(Zero)) -> True The set Q consists of the following terms: new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_esEs0(Neg(Zero)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Zero)) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Zero, x0) new_esEs0(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (338) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_gcd0Gcd'10(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) at position [1,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'10(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))),new_gcd0Gcd'10(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero)))) (new_gcd0Gcd'10(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(Succ(Zero))),new_gcd0Gcd'10(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(Succ(Zero)))) ---------------------------------------- (339) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'10(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_gcd0Gcd'10(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS02(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS01(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS02(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS02(vuz130, vuz131, Zero, Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS02(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) new_esEs0(Pos(Succ(vuz2500))) -> False new_esEs0(Pos(Zero)) -> True The set Q consists of the following terms: new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_esEs0(Neg(Zero)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Zero)) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Zero, x0) new_esEs0(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (340) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 2 less nodes. ---------------------------------------- (341) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'10(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(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_primModNatS02(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS01(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS02(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS02(vuz130, vuz131, Zero, Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS02(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) new_esEs0(Pos(Succ(vuz2500))) -> False new_esEs0(Pos(Zero)) -> True The set Q consists of the following terms: new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_esEs0(Neg(Zero)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Zero)) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Zero, x0) new_esEs0(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (342) QDPOrderProof (EQUIVALENT) We use the reduction pair processor [LPAR04,JAR06]. The following pairs can be oriented strictly and are deleted. new_gcd0Gcd'10(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) The remaining pairs can at least be oriented weakly. Used ordering: Polynomial interpretation [POLO]: POL(False) = 0 POL(Pos(x_1)) = 2*x_1 POL(Succ(x_1)) = 1 + x_1 POL(True) = 3 POL(Zero) = 0 POL(new_esEs0(x_1)) = 0 POL(new_gcd0Gcd'00(x_1, x_2)) = 2*x_1 + 2*x_2 POL(new_gcd0Gcd'10(x_1, x_2, x_3)) = 2*x_2 + 2*x_3 POL(new_primMinusNatS2(x_1, x_2)) = 1 + x_1 POL(new_primModNatS01(x_1, x_2)) = 3 + x_1 POL(new_primModNatS02(x_1, x_2, x_3, x_4)) = 3 + x_1 POL(new_primModNatS1(x_1, x_2)) = 1 + x_1 The following usable rules [FROCOS05] with respect to the argument filtering of the ordering [JAR06] were oriented: new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS01(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS02(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS02(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS02(vuz130, vuz131, Zero, Zero) -> new_primModNatS01(vuz130, vuz131) new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primModNatS1(Zero, vuz7400) -> Zero new_primModNatS02(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) ---------------------------------------- (343) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(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_primModNatS02(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS01(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS02(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS02(vuz130, vuz131, Zero, Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS02(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) new_esEs0(Pos(Succ(vuz2500))) -> False new_esEs0(Pos(Zero)) -> True The set Q consists of the following terms: new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_esEs0(Neg(Zero)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Zero)) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Zero, x0) new_esEs0(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (344) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 0 SCCs with 3 less nodes. ---------------------------------------- (345) TRUE ---------------------------------------- (346) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(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_primModNatS02(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS01(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS02(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS02(vuz130, vuz131, Zero, Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS02(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) new_esEs0(Pos(Succ(vuz2500))) -> False new_esEs0(Pos(Zero)) -> True The set Q consists of the following terms: new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_esEs0(Neg(Zero)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Zero)) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Zero, x0) new_esEs0(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (347) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) at position [1,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Zero)))),new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Zero))))) (new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))),new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)))) (new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS01(Succ(Zero), Succ(Zero)))),new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS01(Succ(Zero), Succ(Zero))))) (new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))))) ---------------------------------------- (348) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Zero)))) new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS01(Succ(Zero), Succ(Zero)))) new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(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_primModNatS02(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS01(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS02(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS02(vuz130, vuz131, Zero, Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS02(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) new_esEs0(Pos(Succ(vuz2500))) -> False new_esEs0(Pos(Zero)) -> True The set Q consists of the following terms: new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_esEs0(Neg(Zero)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Zero)) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Zero, x0) new_esEs0(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (349) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 2 SCCs with 1 less node. ---------------------------------------- (350) Complex Obligation (AND) ---------------------------------------- (351) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Zero)))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(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_primModNatS02(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS01(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS02(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS02(vuz130, vuz131, Zero, Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS02(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) new_esEs0(Pos(Succ(vuz2500))) -> False new_esEs0(Pos(Zero)) -> True The set Q consists of the following terms: new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_esEs0(Neg(Zero)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Zero)) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Zero, x0) new_esEs0(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (352) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Zero)))) at position [1,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))),new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero)))))) ---------------------------------------- (353) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS02(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS01(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS02(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS02(vuz130, vuz131, Zero, Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS02(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) new_esEs0(Pos(Succ(vuz2500))) -> False new_esEs0(Pos(Zero)) -> True The set Q consists of the following terms: new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_esEs0(Neg(Zero)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Zero)) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Zero, x0) new_esEs0(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (354) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))),new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero)))))) ---------------------------------------- (355) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS02(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS01(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS02(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS02(vuz130, vuz131, Zero, Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS02(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) new_esEs0(Pos(Succ(vuz2500))) -> False new_esEs0(Pos(Zero)) -> True The set Q consists of the following terms: new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_esEs0(Neg(Zero)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Zero)) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Zero, x0) new_esEs0(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (356) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))),new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero)))))) ---------------------------------------- (357) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS02(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS01(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS02(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS02(vuz130, vuz131, Zero, Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS02(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) new_esEs0(Pos(Succ(vuz2500))) -> False new_esEs0(Pos(Zero)) -> True The set Q consists of the following terms: new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_esEs0(Neg(Zero)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Zero)) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Zero, x0) new_esEs0(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (358) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))),new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))))) ---------------------------------------- (359) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(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_primModNatS02(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS01(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS02(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS02(vuz130, vuz131, Zero, Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS02(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) new_esEs0(Pos(Succ(vuz2500))) -> False new_esEs0(Pos(Zero)) -> True The set Q consists of the following terms: new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_esEs0(Neg(Zero)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Zero)) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Zero, x0) new_esEs0(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (360) QReductionProof (EQUIVALENT) We deleted the following terms from Q as they contain symbols which do neither occur in P nor in R.[THIEMANN]. new_esEs0(Neg(Zero)) new_esEs0(Neg(Succ(x0))) ---------------------------------------- (361) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(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_primModNatS02(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS01(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS02(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS02(vuz130, vuz131, Zero, Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS02(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) new_esEs0(Pos(Succ(vuz2500))) -> False new_esEs0(Pos(Zero)) -> True The set Q consists of the following terms: new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Zero)) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Zero, x0) We have to consider all (P,Q,R)-chains. ---------------------------------------- (362) InductionCalculusProof (EQUIVALENT) Note that final constraints are written in bold face. For Pair new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) the following chains were created: *We consider the chain new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(x1))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x1))))), Pos(Succ(Succ(Succ(Zero))))), new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) which results in the following constraint: (1) (new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x1))))), Pos(Succ(Succ(Succ(Zero)))))=new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) ==> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(x1))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x1))))), Pos(Succ(Succ(Succ(Zero)))))) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(x1))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x1))))), Pos(Succ(Succ(Succ(Zero)))))) For Pair new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) the following chains were created: *We consider the chain new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x8))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x8), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x8)))))), new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x9)))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x9), Succ(Succ(Zero))))) which results in the following constraint: (1) (new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x8), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x8))))))=new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x9)))))) ==> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x8))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x8), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x8))))))) We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: (2) (Pos(new_primModNatS1(Succ(x8), Succ(Succ(Zero))))=x20 & new_esEs0(x20)=False ==> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x8))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x8), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x8))))))) We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_esEs0(x20)=False which results in the following new constraint: (3) (False=False & Pos(new_primModNatS1(Succ(x8), Succ(Succ(Zero))))=Pos(Succ(x21)) ==> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x8))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x8), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x8))))))) We simplified constraint (3) using rules (I), (II), (VII) which results in the following new constraint: (4) (Succ(x8)=x22 & Succ(Succ(Zero))=x23 & new_primModNatS1(x22, x23)=Succ(x21) ==> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x8))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x8), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x8))))))) We simplified constraint (4) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS1(x22, x23)=Succ(x21) which results in the following new constraints: (5) (new_primModNatS02(x25, x24, x25, x24)=Succ(x21) & Succ(x8)=Succ(Succ(x25)) & Succ(Succ(Zero))=Succ(x24) ==> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x8))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x8), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x8))))))) (6) (Succ(Zero)=Succ(x21) & Succ(x8)=Succ(Zero) & Succ(Succ(Zero))=Succ(x26) ==> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x8))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x8), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x8))))))) We simplified constraint (5) using rules (I), (II), (III), (VII) which results in the following new constraint: (7) (x25=x28 & x24=x29 & new_primModNatS02(x25, x24, x28, x29)=Succ(x21) & Succ(Zero)=x24 ==> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(x25)))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(Succ(x25)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(x25)))))))) We simplified constraint (6) using rules (I), (II), (III), (IV) which results in the following new constraint: (8) (new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(Zero), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Zero))))))) We simplified constraint (7) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x25, x24, x28, x29)=Succ(x21) which results in the following new constraints: (9) (new_primModNatS01(x32, x31)=Succ(x21) & x32=Succ(x30) & x31=Zero & Succ(Zero)=x31 ==> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(x32)))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(Succ(x32)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(x32)))))))) (10) (new_primModNatS02(x36, x35, x34, x33)=Succ(x21) & x36=Succ(x34) & x35=Succ(x33) & Succ(Zero)=x35 & (\/x37:new_primModNatS02(x36, x35, x34, x33)=Succ(x37) & x36=x34 & x35=x33 & Succ(Zero)=x35 ==> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(x36)))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(Succ(x36)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(x36)))))))) ==> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(x36)))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(Succ(x36)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(x36)))))))) (11) (new_primModNatS01(x39, x38)=Succ(x21) & x39=Zero & x38=Zero & Succ(Zero)=x38 ==> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(x39)))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(Succ(x39)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(x39)))))))) (12) (Succ(Succ(x42))=Succ(x21) & x42=Zero & x41=Succ(x40) & Succ(Zero)=x41 ==> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(x42)))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(Succ(x42)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(x42)))))))) We solved constraint (9) using rules (I), (II), (III).We simplified constraint (10) using rules (I), (II), (III), (IV), (VII) which results in the following new constraint: (13) (new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(Succ(x34))))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(Succ(Succ(x34))), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x34))))))))) We solved constraint (11) using rules (I), (II), (III).We simplified constraint (12) using rules (I), (II), (III), (IV) which results in the following new constraint: (14) (new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(Succ(Zero)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))) For Pair new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) the following chains were created: *We consider the chain new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x10)))))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(x10))))), Pos(Succ(Succ(Succ(Zero))))), new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(x11))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x11))))), Pos(Succ(Succ(Succ(Zero))))) which results in the following constraint: (1) (new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(x10))))), Pos(Succ(Succ(Succ(Zero)))))=new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(x11))))), Pos(Succ(Succ(Succ(Zero))))) ==> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x10))))))_>=_new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(x10))))), Pos(Succ(Succ(Succ(Zero)))))) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x10))))))_>=_new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(x10))))), Pos(Succ(Succ(Succ(Zero)))))) For Pair new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) the following chains were created: *We consider the chain new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x17)))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x17), Succ(Succ(Zero))))), new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x18)))))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(x18))))), Pos(Succ(Succ(Succ(Zero))))) which results in the following constraint: (1) (new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x17), Succ(Succ(Zero)))))=new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x18)))))) ==> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x17))))))_>=_new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x17), Succ(Succ(Zero)))))) We simplified constraint (1) using rules (I), (II), (VII) which results in the following new constraint: (2) (Succ(x17)=x45 & Succ(Succ(Zero))=x46 & new_primModNatS1(x45, x46)=Succ(Succ(Succ(Succ(x18)))) ==> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x17))))))_>=_new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x17), Succ(Succ(Zero)))))) We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS1(x45, x46)=Succ(Succ(Succ(Succ(x18)))) which results in the following new constraints: (3) (new_primModNatS02(x48, x47, x48, x47)=Succ(Succ(Succ(Succ(x18)))) & Succ(x17)=Succ(Succ(x48)) & Succ(Succ(Zero))=Succ(x47) ==> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x17))))))_>=_new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x17), Succ(Succ(Zero)))))) (4) (Succ(Zero)=Succ(Succ(Succ(Succ(x18)))) & Succ(x17)=Succ(Zero) & Succ(Succ(Zero))=Succ(x49) ==> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x17))))))_>=_new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x17), Succ(Succ(Zero)))))) We simplified constraint (3) using rules (I), (II), (III), (VII) which results in the following new constraint: (5) (x48=x51 & x47=x52 & new_primModNatS02(x48, x47, x51, x52)=Succ(Succ(Succ(Succ(x18)))) & Succ(Zero)=x47 ==> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(x48)))))))_>=_new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(Succ(x48)), Succ(Succ(Zero)))))) We solved constraint (4) using rules (I), (II).We simplified constraint (5) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x48, x47, x51, x52)=Succ(Succ(Succ(Succ(x18)))) which results in the following new constraints: (6) (new_primModNatS01(x55, x54)=Succ(Succ(Succ(Succ(x18)))) & x55=Succ(x53) & x54=Zero & Succ(Zero)=x54 ==> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(x55)))))))_>=_new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(Succ(x55)), Succ(Succ(Zero)))))) (7) (new_primModNatS02(x59, x58, x57, x56)=Succ(Succ(Succ(Succ(x18)))) & x59=Succ(x57) & x58=Succ(x56) & Succ(Zero)=x58 & (\/x60:new_primModNatS02(x59, x58, x57, x56)=Succ(Succ(Succ(Succ(x60)))) & x59=x57 & x58=x56 & Succ(Zero)=x58 ==> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(x59)))))))_>=_new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(Succ(x59)), Succ(Succ(Zero)))))) ==> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(x59)))))))_>=_new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(Succ(x59)), Succ(Succ(Zero)))))) (8) (new_primModNatS01(x62, x61)=Succ(Succ(Succ(Succ(x18)))) & x62=Zero & x61=Zero & Succ(Zero)=x61 ==> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(x62)))))))_>=_new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(Succ(x62)), Succ(Succ(Zero)))))) (9) (Succ(Succ(x65))=Succ(Succ(Succ(Succ(x18)))) & x65=Zero & x64=Succ(x63) & Succ(Zero)=x64 ==> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(x65)))))))_>=_new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(Succ(x65)), Succ(Succ(Zero)))))) We solved constraint (6) using rules (I), (II), (III).We simplified constraint (7) using rules (I), (II), (III), (IV), (VII) which results in the following new constraint: (10) (new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x57))))))))_>=_new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(Succ(Succ(x57))), Succ(Succ(Zero)))))) We solved constraint (8) using rules (I), (II), (III).We solved constraint (9) using rules (I), (II), (III), (IV). To summarize, we get the following constraints P__>=_ for the following pairs. *new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) *(new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(x1))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x1))))), Pos(Succ(Succ(Succ(Zero)))))) *new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) *(new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(Succ(Zero)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))) *(new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(Zero), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Zero))))))) *(new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(Succ(x34))))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(Succ(Succ(x34))), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x34))))))))) *new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) *(new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x10))))))_>=_new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(x10))))), Pos(Succ(Succ(Succ(Zero)))))) *new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) *(new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x57))))))))_>=_new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(Succ(Succ(x57))), Succ(Succ(Zero)))))) The constraints for P_> respective P_bound are constructed from P__>=_ where we just replace every occurence of "t _>=_ s" in P__>=_ by "t > s" respective "t _>=_ c". Here c stands for the fresh constant used for P_bound. ---------------------------------------- (363) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(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_primModNatS02(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS01(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS02(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS02(vuz130, vuz131, Zero, Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS02(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) new_esEs0(Pos(Succ(vuz2500))) -> False new_esEs0(Pos(Zero)) -> True The set Q consists of the following terms: new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_esEs0(Neg(Zero)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Zero)) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Zero, x0) new_esEs0(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (364) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS02(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS01(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS02(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS02(vuz130, vuz131, Zero, Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS02(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) new_esEs0(Pos(Succ(vuz2500))) -> False new_esEs0(Pos(Zero)) -> True The set Q consists of the following terms: new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_esEs0(Neg(Zero)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Zero)) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Zero, x0) new_esEs0(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (365) QReductionProof (EQUIVALENT) We deleted the following terms from Q as they contain symbols which do neither occur in P nor in R.[THIEMANN]. new_esEs0(Neg(Zero)) new_esEs0(Neg(Succ(x0))) ---------------------------------------- (366) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS02(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS01(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS02(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS02(vuz130, vuz131, Zero, Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS02(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) new_esEs0(Pos(Succ(vuz2500))) -> False new_esEs0(Pos(Zero)) -> True The set Q consists of the following terms: new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Zero)) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Zero, x0) We have to consider all (P,Q,R)-chains. ---------------------------------------- (367) InductionCalculusProof (EQUIVALENT) Note that final constraints are written in bold face. For Pair new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) the following chains were created: *We consider the chain new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(new_primModNatS02(Succ(Succ(x3)), Succ(Succ(x2)), x3, x2))), new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x4))))), Pos(Succ(Succ(Succ(Succ(x5)))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(Succ(Succ(x4)), Succ(Succ(x5)), x4, x5))), Pos(Succ(Succ(Succ(Succ(x5))))), Pos(Succ(Succ(Succ(Succ(x4)))))) which results in the following constraint: (1) (new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(new_primModNatS02(Succ(Succ(x3)), Succ(Succ(x2)), x3, x2)))=new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x4))))), Pos(Succ(Succ(Succ(Succ(x5)))))) ==> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))))_>=_new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(new_primModNatS02(Succ(Succ(x3)), Succ(Succ(x2)), x3, x2)))) We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: (2) (Succ(Succ(x3))=x12 & Succ(Succ(x2))=x13 & new_primModNatS02(x12, x13, x3, x2)=Succ(Succ(Succ(Succ(x5)))) ==> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))))_>=_new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(new_primModNatS02(Succ(Succ(x3)), Succ(Succ(x2)), x3, x2)))) We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x12, x13, x3, x2)=Succ(Succ(Succ(Succ(x5)))) which results in the following new constraints: (3) (new_primModNatS01(x16, x15)=Succ(Succ(Succ(Succ(x5)))) & Succ(Succ(Succ(x14)))=x16 & Succ(Succ(Zero))=x15 ==> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Succ(x14)))))))_>=_new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(new_primModNatS02(Succ(Succ(Succ(x14))), Succ(Succ(Zero)), Succ(x14), Zero)))) (4) (new_primModNatS02(x20, x19, x18, x17)=Succ(Succ(Succ(Succ(x5)))) & Succ(Succ(Succ(x18)))=x20 & Succ(Succ(Succ(x17)))=x19 & (\/x21:new_primModNatS02(x20, x19, x18, x17)=Succ(Succ(Succ(Succ(x21)))) & Succ(Succ(x18))=x20 & Succ(Succ(x17))=x19 ==> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(x17))))), Pos(Succ(Succ(Succ(Succ(x18))))))_>=_new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x17))))), Pos(new_primModNatS02(Succ(Succ(x18)), Succ(Succ(x17)), x18, x17)))) ==> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(Succ(x17)))))), Pos(Succ(Succ(Succ(Succ(Succ(x18)))))))_>=_new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(x17)))))), Pos(new_primModNatS02(Succ(Succ(Succ(x18))), Succ(Succ(Succ(x17))), Succ(x18), Succ(x17))))) (5) (new_primModNatS01(x23, x22)=Succ(Succ(Succ(Succ(x5)))) & Succ(Succ(Zero))=x23 & Succ(Succ(Zero))=x22 ==> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero)))) (6) (Succ(Succ(x26))=Succ(Succ(Succ(Succ(x5)))) & Succ(Succ(Zero))=x26 & Succ(Succ(Succ(x24)))=x25 ==> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(Succ(x24)))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(x24)))))), Pos(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Succ(x24))), Zero, Succ(x24))))) We simplified constraint (3) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x16, x15)=Succ(Succ(Succ(Succ(x5)))) which results in the following new constraint: (7) (new_primModNatS1(new_primMinusNatS2(Succ(x28), Succ(x27)), Succ(x27))=Succ(Succ(Succ(Succ(x5)))) & Succ(Succ(Succ(x14)))=x28 & Succ(Succ(Zero))=x27 ==> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Succ(x14)))))))_>=_new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(new_primModNatS02(Succ(Succ(Succ(x14))), Succ(Succ(Zero)), Succ(x14), Zero)))) We simplified constraint (4) using rule (IV) which results in the following new constraint: (8) (new_primModNatS02(x20, x19, x18, x17)=Succ(Succ(Succ(Succ(x5)))) & Succ(Succ(Succ(x18)))=x20 & Succ(Succ(Succ(x17)))=x19 ==> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(Succ(x17)))))), Pos(Succ(Succ(Succ(Succ(Succ(x18)))))))_>=_new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(x17)))))), Pos(new_primModNatS02(Succ(Succ(Succ(x18))), Succ(Succ(Succ(x17))), Succ(x18), Succ(x17))))) We simplified constraint (5) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x23, x22)=Succ(Succ(Succ(Succ(x5)))) which results in the following new constraint: (9) (new_primModNatS1(new_primMinusNatS2(Succ(x47), Succ(x46)), Succ(x46))=Succ(Succ(Succ(Succ(x5)))) & Succ(Succ(Zero))=x47 & Succ(Succ(Zero))=x46 ==> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero)))) We simplified constraint (6) using rules (I), (II), (III), (IV) which results in the following new constraint: (10) (new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(Succ(x24)))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(x24)))))), Pos(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Succ(x24))), Zero, Succ(x24))))) We simplified constraint (7) using rules (III), (IV), (VII) which results in the following new constraint: (11) (new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Succ(x14)))))))_>=_new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(new_primModNatS02(Succ(Succ(Succ(x14))), Succ(Succ(Zero)), Succ(x14), Zero)))) We simplified constraint (8) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x20, x19, x18, x17)=Succ(Succ(Succ(Succ(x5)))) which results in the following new constraints: (12) (new_primModNatS01(x35, x34)=Succ(Succ(Succ(Succ(x5)))) & Succ(Succ(Succ(Succ(x33))))=x35 & Succ(Succ(Succ(Zero)))=x34 ==> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x33))))))))_>=_new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(new_primModNatS02(Succ(Succ(Succ(Succ(x33)))), Succ(Succ(Succ(Zero))), Succ(Succ(x33)), Succ(Zero))))) (13) (new_primModNatS02(x39, x38, x37, x36)=Succ(Succ(Succ(Succ(x5)))) & Succ(Succ(Succ(Succ(x37))))=x39 & Succ(Succ(Succ(Succ(x36))))=x38 & (\/x40:new_primModNatS02(x39, x38, x37, x36)=Succ(Succ(Succ(Succ(x40)))) & Succ(Succ(Succ(x37)))=x39 & Succ(Succ(Succ(x36)))=x38 ==> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(Succ(x36)))))), Pos(Succ(Succ(Succ(Succ(Succ(x37)))))))_>=_new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(x36)))))), Pos(new_primModNatS02(Succ(Succ(Succ(x37))), Succ(Succ(Succ(x36))), Succ(x37), Succ(x36))))) ==> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(Succ(Succ(x36))))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x37))))))))_>=_new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(Succ(x36))))))), Pos(new_primModNatS02(Succ(Succ(Succ(Succ(x37)))), Succ(Succ(Succ(Succ(x36)))), Succ(Succ(x37)), Succ(Succ(x36)))))) (14) (new_primModNatS01(x42, x41)=Succ(Succ(Succ(Succ(x5)))) & Succ(Succ(Succ(Zero)))=x42 & Succ(Succ(Succ(Zero)))=x41 ==> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(new_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero))))) (15) (Succ(Succ(x45))=Succ(Succ(Succ(Succ(x5)))) & Succ(Succ(Succ(Zero)))=x45 & Succ(Succ(Succ(Succ(x43))))=x44 ==> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(Succ(Succ(x43))))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(Succ(x43))))))), Pos(new_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Succ(x43)))), Succ(Zero), Succ(Succ(x43)))))) We simplified constraint (12) using rules (III), (IV) which results in the following new constraint: (16) (new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x33))))))))_>=_new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(new_primModNatS02(Succ(Succ(Succ(Succ(x33)))), Succ(Succ(Succ(Zero))), Succ(Succ(x33)), Succ(Zero))))) We simplified constraint (13) using rules (III), (IV) which results in the following new constraint: (17) (new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(Succ(Succ(x36))))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x37))))))))_>=_new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(Succ(x36))))))), Pos(new_primModNatS02(Succ(Succ(Succ(Succ(x37)))), Succ(Succ(Succ(Succ(x36)))), Succ(Succ(x37)), Succ(Succ(x36)))))) We simplified constraint (14) using rules (III), (IV) which results in the following new constraint: (18) (new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(new_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero))))) We simplified constraint (15) using rules (I), (II), (III), (IV) which results in the following new constraint: (19) (new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(Succ(Succ(x43))))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(Succ(x43))))))), Pos(new_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Succ(x43)))), Succ(Zero), Succ(Succ(x43)))))) We simplified constraint (9) using rules (III), (IV), (VII) which results in the following new constraint: (20) (new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero)))) For Pair new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) the following chains were created: *We consider the chain new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x6))))), Pos(Succ(Succ(Succ(Succ(x7)))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(Succ(Succ(x6)), Succ(Succ(x7)), x6, x7))), Pos(Succ(Succ(Succ(Succ(x7))))), Pos(Succ(Succ(Succ(Succ(x6)))))), new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(x8))))), Pos(Succ(Succ(Succ(Succ(x9)))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x8))))), Pos(new_primModNatS02(Succ(Succ(x9)), Succ(Succ(x8)), x9, x8))) which results in the following constraint: (1) (new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(Succ(Succ(x6)), Succ(Succ(x7)), x6, x7))), Pos(Succ(Succ(Succ(Succ(x7))))), Pos(Succ(Succ(Succ(Succ(x6))))))=new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(x8))))), Pos(Succ(Succ(Succ(Succ(x9)))))) ==> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x6))))), Pos(Succ(Succ(Succ(Succ(x7))))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(Succ(Succ(x6)), Succ(Succ(x7)), x6, x7))), Pos(Succ(Succ(Succ(Succ(x7))))), Pos(Succ(Succ(Succ(Succ(x6))))))) We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: (2) (Pos(new_primModNatS02(Succ(Succ(x6)), Succ(Succ(x7)), x6, x7))=x52 & new_esEs0(x52)=False ==> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x6))))), Pos(Succ(Succ(Succ(Succ(x7))))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(Succ(Succ(x6)), Succ(Succ(x7)), x6, x7))), Pos(Succ(Succ(Succ(Succ(x7))))), Pos(Succ(Succ(Succ(Succ(x6))))))) We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_esEs0(x52)=False which results in the following new constraint: (3) (False=False & Pos(new_primModNatS02(Succ(Succ(x6)), Succ(Succ(x7)), x6, x7))=Pos(Succ(x53)) ==> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x6))))), Pos(Succ(Succ(Succ(Succ(x7))))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(Succ(Succ(x6)), Succ(Succ(x7)), x6, x7))), Pos(Succ(Succ(Succ(Succ(x7))))), Pos(Succ(Succ(Succ(Succ(x6))))))) We simplified constraint (3) using rules (I), (II), (VII) which results in the following new constraint: (4) (Succ(Succ(x6))=x54 & Succ(Succ(x7))=x55 & new_primModNatS02(x54, x55, x6, x7)=Succ(x53) ==> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x6))))), Pos(Succ(Succ(Succ(Succ(x7))))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(Succ(Succ(x6)), Succ(Succ(x7)), x6, x7))), Pos(Succ(Succ(Succ(Succ(x7))))), Pos(Succ(Succ(Succ(Succ(x6))))))) We simplified constraint (4) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x54, x55, x6, x7)=Succ(x53) which results in the following new constraints: (5) (new_primModNatS01(x58, x57)=Succ(x53) & Succ(Succ(Succ(x56)))=x58 & Succ(Succ(Zero))=x57 ==> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(x56)))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(Succ(Succ(Succ(x56))), Succ(Succ(Zero)), Succ(x56), Zero))), Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Succ(x56)))))))) (6) (new_primModNatS02(x62, x61, x60, x59)=Succ(x53) & Succ(Succ(Succ(x60)))=x62 & Succ(Succ(Succ(x59)))=x61 & (\/x63:new_primModNatS02(x62, x61, x60, x59)=Succ(x63) & Succ(Succ(x60))=x62 & Succ(Succ(x59))=x61 ==> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x60))))), Pos(Succ(Succ(Succ(Succ(x59))))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(Succ(Succ(x60)), Succ(Succ(x59)), x60, x59))), Pos(Succ(Succ(Succ(Succ(x59))))), Pos(Succ(Succ(Succ(Succ(x60))))))) ==> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(x60)))))), Pos(Succ(Succ(Succ(Succ(Succ(x59)))))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(Succ(Succ(Succ(x60))), Succ(Succ(Succ(x59))), Succ(x60), Succ(x59)))), Pos(Succ(Succ(Succ(Succ(Succ(x59)))))), Pos(Succ(Succ(Succ(Succ(Succ(x60)))))))) (7) (new_primModNatS01(x65, x64)=Succ(x53) & Succ(Succ(Zero))=x65 & Succ(Succ(Zero))=x64 ==> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero))), Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))))) (8) (Succ(Succ(x68))=Succ(x53) & Succ(Succ(Zero))=x68 & Succ(Succ(Succ(x66)))=x67 ==> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Succ(x66)))))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Succ(x66))), Zero, Succ(x66)))), Pos(Succ(Succ(Succ(Succ(Succ(x66)))))), Pos(Succ(Succ(Succ(Succ(Zero))))))) We simplified constraint (5) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x58, x57)=Succ(x53) which results in the following new constraint: (9) (new_primModNatS1(new_primMinusNatS2(Succ(x70), Succ(x69)), Succ(x69))=Succ(x53) & Succ(Succ(Succ(x56)))=x70 & Succ(Succ(Zero))=x69 ==> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(x56)))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(Succ(Succ(Succ(x56))), Succ(Succ(Zero)), Succ(x56), Zero))), Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Succ(x56)))))))) We simplified constraint (6) using rule (IV) which results in the following new constraint: (10) (new_primModNatS02(x62, x61, x60, x59)=Succ(x53) & Succ(Succ(Succ(x60)))=x62 & Succ(Succ(Succ(x59)))=x61 ==> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(x60)))))), Pos(Succ(Succ(Succ(Succ(Succ(x59)))))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(Succ(Succ(Succ(x60))), Succ(Succ(Succ(x59))), Succ(x60), Succ(x59)))), Pos(Succ(Succ(Succ(Succ(Succ(x59)))))), Pos(Succ(Succ(Succ(Succ(Succ(x60)))))))) We simplified constraint (7) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x65, x64)=Succ(x53) which results in the following new constraint: (11) (new_primModNatS1(new_primMinusNatS2(Succ(x89), Succ(x88)), Succ(x88))=Succ(x53) & Succ(Succ(Zero))=x89 & Succ(Succ(Zero))=x88 ==> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero))), Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))))) We simplified constraint (8) using rules (I), (II), (IV) which results in the following new constraint: (12) (new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Succ(x66)))))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Succ(x66))), Zero, Succ(x66)))), Pos(Succ(Succ(Succ(Succ(Succ(x66)))))), Pos(Succ(Succ(Succ(Succ(Zero))))))) We simplified constraint (9) using rules (III), (IV), (VII) which results in the following new constraint: (13) (new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(x56)))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(Succ(Succ(Succ(x56))), Succ(Succ(Zero)), Succ(x56), Zero))), Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Succ(x56)))))))) We simplified constraint (10) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x62, x61, x60, x59)=Succ(x53) which results in the following new constraints: (14) (new_primModNatS01(x77, x76)=Succ(x53) & Succ(Succ(Succ(Succ(x75))))=x77 & Succ(Succ(Succ(Zero)))=x76 ==> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(Succ(x75))))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(Succ(Succ(Succ(Succ(x75)))), Succ(Succ(Succ(Zero))), Succ(Succ(x75)), Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x75))))))))) (15) (new_primModNatS02(x81, x80, x79, x78)=Succ(x53) & Succ(Succ(Succ(Succ(x79))))=x81 & Succ(Succ(Succ(Succ(x78))))=x80 & (\/x82:new_primModNatS02(x81, x80, x79, x78)=Succ(x82) & Succ(Succ(Succ(x79)))=x81 & Succ(Succ(Succ(x78)))=x80 ==> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(x79)))))), Pos(Succ(Succ(Succ(Succ(Succ(x78)))))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(Succ(Succ(Succ(x79))), Succ(Succ(Succ(x78))), Succ(x79), Succ(x78)))), Pos(Succ(Succ(Succ(Succ(Succ(x78)))))), Pos(Succ(Succ(Succ(Succ(Succ(x79)))))))) ==> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(Succ(x79))))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x78))))))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(Succ(Succ(Succ(Succ(x79)))), Succ(Succ(Succ(Succ(x78)))), Succ(Succ(x79)), Succ(Succ(x78))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x78))))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x79))))))))) (16) (new_primModNatS01(x84, x83)=Succ(x53) & Succ(Succ(Succ(Zero)))=x84 & Succ(Succ(Succ(Zero)))=x83 ==> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))) (17) (Succ(Succ(x87))=Succ(x53) & Succ(Succ(Succ(Zero)))=x87 & Succ(Succ(Succ(Succ(x85))))=x86 ==> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x85))))))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Succ(x85)))), Succ(Zero), Succ(Succ(x85))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x85))))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))) We simplified constraint (14) using rules (III), (IV) which results in the following new constraint: (18) (new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(Succ(x75))))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(Succ(Succ(Succ(Succ(x75)))), Succ(Succ(Succ(Zero))), Succ(Succ(x75)), Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x75))))))))) We simplified constraint (15) using rules (III), (IV) which results in the following new constraint: (19) (new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(Succ(x79))))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x78))))))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(Succ(Succ(Succ(Succ(x79)))), Succ(Succ(Succ(Succ(x78)))), Succ(Succ(x79)), Succ(Succ(x78))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x78))))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x79))))))))) We simplified constraint (16) using rules (III), (IV) which results in the following new constraint: (20) (new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))) We simplified constraint (17) using rules (I), (II), (IV) which results in the following new constraint: (21) (new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x85))))))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Succ(x85)))), Succ(Zero), Succ(Succ(x85))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x85))))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))) We simplified constraint (11) using rules (III), (IV), (VII) which results in the following new constraint: (22) (new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero))), Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))))) To summarize, we get the following constraints P__>=_ for the following pairs. *new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) *(new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(Succ(Succ(x43))))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(Succ(x43))))))), Pos(new_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Succ(x43)))), Succ(Zero), Succ(Succ(x43)))))) *(new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(Succ(x24)))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(x24)))))), Pos(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Succ(x24))), Zero, Succ(x24))))) *(new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Succ(x14)))))))_>=_new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(new_primModNatS02(Succ(Succ(Succ(x14))), Succ(Succ(Zero)), Succ(x14), Zero)))) *(new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x33))))))))_>=_new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(new_primModNatS02(Succ(Succ(Succ(Succ(x33)))), Succ(Succ(Succ(Zero))), Succ(Succ(x33)), Succ(Zero))))) *(new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(Succ(Succ(x36))))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x37))))))))_>=_new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(Succ(x36))))))), Pos(new_primModNatS02(Succ(Succ(Succ(Succ(x37)))), Succ(Succ(Succ(Succ(x36)))), Succ(Succ(x37)), Succ(Succ(x36)))))) *(new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(new_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero))))) *(new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero)))) *new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) *(new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x85))))))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Succ(x85)))), Succ(Zero), Succ(Succ(x85))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x85))))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))) *(new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Succ(x66)))))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Succ(x66))), Zero, Succ(x66)))), Pos(Succ(Succ(Succ(Succ(Succ(x66)))))), Pos(Succ(Succ(Succ(Succ(Zero))))))) *(new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(x56)))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(Succ(Succ(Succ(x56))), Succ(Succ(Zero)), Succ(x56), Zero))), Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Succ(x56)))))))) *(new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(Succ(x75))))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(Succ(Succ(Succ(Succ(x75)))), Succ(Succ(Succ(Zero))), Succ(Succ(x75)), Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x75))))))))) *(new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(Succ(x79))))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x78))))))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(Succ(Succ(Succ(Succ(x79)))), Succ(Succ(Succ(Succ(x78)))), Succ(Succ(x79)), Succ(Succ(x78))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x78))))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x79))))))))) *(new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))) *(new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero))), Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))))) The constraints for P_> respective P_bound are constructed from P__>=_ where we just replace every occurence of "t _>=_ s" in P__>=_ by "t > s" respective "t _>=_ c". Here c stands for the fresh constant used for P_bound. ---------------------------------------- (368) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS02(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS01(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS02(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS02(vuz130, vuz131, Zero, Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS02(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) new_esEs0(Pos(Succ(vuz2500))) -> False new_esEs0(Pos(Zero)) -> True The set Q consists of the following terms: new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_esEs0(Neg(Zero)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Zero)) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Zero, x0) new_esEs0(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (369) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'10(False, Neg(Succ(x1)), Pos(x0)) -> new_gcd0Gcd'00(Neg(Succ(x1)), Pos(new_primModNatS1(x0, x1))) new_gcd0Gcd'00(Neg(x0), Pos(Succ(x1))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Neg(x0)) new_gcd0Gcd'10(False, Pos(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'00(Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) new_gcd0Gcd'00(Pos(x0), Neg(Succ(x1))) -> new_gcd0Gcd'10(new_esEs0(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(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) new_primModNatS01(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS02(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS02(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS02(vuz130, vuz131, Zero, Zero) -> new_primModNatS01(vuz130, vuz131) new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primModNatS02(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz32000) -> Succ(vuz32000) new_esEs0(Pos(Succ(vuz2500))) -> False new_esEs0(Neg(Succ(vuz2500))) -> False new_esEs0(Neg(Zero)) -> True new_esEs0(Pos(Zero)) -> True The set Q consists of the following terms: new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primMinusNatS1 new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_esEs0(Neg(Zero)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_esEs0(Pos(Zero)) new_primModNatS01(x0, x1) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Zero, x0) new_esEs0(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (370) 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. ---------------------------------------- (371) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'10(False, Neg(Succ(x1)), Pos(x0)) -> new_gcd0Gcd'00(Neg(Succ(x1)), Pos(new_primModNatS1(x0, x1))) new_gcd0Gcd'00(Neg(x0), Pos(Succ(x1))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Neg(x0)) new_gcd0Gcd'10(False, Pos(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'00(Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) new_gcd0Gcd'00(Pos(x0), Neg(Succ(x1))) -> new_gcd0Gcd'10(new_esEs0(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(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS02(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS01(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS02(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS02(vuz130, vuz131, Zero, Zero) -> new_primModNatS01(vuz130, vuz131) new_esEs0(Pos(Succ(vuz2500))) -> False new_esEs0(Pos(Zero)) -> True new_primModNatS02(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) new_primMinusNatS0(vuz32000) -> Succ(vuz32000) new_primMinusNatS1 -> Zero new_esEs0(Neg(Succ(vuz2500))) -> False new_esEs0(Neg(Zero)) -> True The set Q consists of the following terms: new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primMinusNatS1 new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_esEs0(Neg(Zero)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_esEs0(Pos(Zero)) new_primModNatS01(x0, x1) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Zero, x0) new_esEs0(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (372) 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))) ---------------------------------------- (373) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'10(False, Neg(Succ(x1)), Pos(x0)) -> new_gcd0Gcd'00(Neg(Succ(x1)), Pos(new_primModNatS1(x0, x1))) new_gcd0Gcd'00(Neg(x0), Pos(Succ(x1))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Neg(x0)) new_gcd0Gcd'10(False, Pos(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'00(Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) new_gcd0Gcd'00(Pos(x0), Neg(Succ(x1))) -> new_gcd0Gcd'10(new_esEs0(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(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS02(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS01(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS02(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS02(vuz130, vuz131, Zero, Zero) -> new_primModNatS01(vuz130, vuz131) new_esEs0(Pos(Succ(vuz2500))) -> False new_esEs0(Pos(Zero)) -> True new_primModNatS02(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) new_primMinusNatS0(vuz32000) -> Succ(vuz32000) new_primMinusNatS1 -> Zero new_esEs0(Neg(Succ(vuz2500))) -> False new_esEs0(Neg(Zero)) -> True The set Q consists of the following terms: new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primMinusNatS1 new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_esEs0(Neg(Zero)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Zero)) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Zero, x0) new_esEs0(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (374) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_gcd0Gcd'10(False, Neg(Succ(x1)), Pos(x0)) -> new_gcd0Gcd'00(Neg(Succ(x1)), Pos(new_primModNatS1(x0, x1))) at position [1,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Zero))),new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Zero)))) (new_gcd0Gcd'10(False, Neg(Succ(x0)), Pos(Zero)) -> new_gcd0Gcd'00(Neg(Succ(x0)), Pos(Zero)),new_gcd0Gcd'10(False, Neg(Succ(x0)), Pos(Zero)) -> new_gcd0Gcd'00(Neg(Succ(x0)), Pos(Zero))) (new_gcd0Gcd'10(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))),new_gcd0Gcd'10(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero)))) (new_gcd0Gcd'10(False, Neg(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS1, Zero))),new_gcd0Gcd'10(False, Neg(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS1, Zero)))) (new_gcd0Gcd'10(False, Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))),new_gcd0Gcd'10(False, Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1)))) ---------------------------------------- (375) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'00(Neg(x0), Pos(Succ(x1))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Neg(x0)) new_gcd0Gcd'10(False, Pos(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'00(Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) new_gcd0Gcd'00(Pos(x0), Neg(Succ(x1))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Pos(x0)) new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'10(False, Neg(Succ(x0)), Pos(Zero)) -> new_gcd0Gcd'00(Neg(Succ(x0)), Pos(Zero)) new_gcd0Gcd'10(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))) new_gcd0Gcd'10(False, Neg(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS1, Zero))) new_gcd0Gcd'10(False, Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x1))), Pos(new_primModNatS02(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(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS02(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS01(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS02(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS02(vuz130, vuz131, Zero, Zero) -> new_primModNatS01(vuz130, vuz131) new_esEs0(Pos(Succ(vuz2500))) -> False new_esEs0(Pos(Zero)) -> True new_primModNatS02(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) new_primMinusNatS0(vuz32000) -> Succ(vuz32000) new_primMinusNatS1 -> Zero new_esEs0(Neg(Succ(vuz2500))) -> False new_esEs0(Neg(Zero)) -> True The set Q consists of the following terms: new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primMinusNatS1 new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_esEs0(Neg(Zero)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Zero)) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Zero, x0) new_esEs0(Neg(Succ(x0))) 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'10(False, Pos(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'00(Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) new_gcd0Gcd'00(Pos(x0), Neg(Succ(x1))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Pos(x0)) new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'00(Neg(x0), Pos(Succ(x1))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Neg(x0)) new_gcd0Gcd'10(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))) new_gcd0Gcd'10(False, Neg(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS1, Zero))) new_gcd0Gcd'10(False, Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x1))), Pos(new_primModNatS02(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(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS02(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS01(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS02(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS02(vuz130, vuz131, Zero, Zero) -> new_primModNatS01(vuz130, vuz131) new_esEs0(Pos(Succ(vuz2500))) -> False new_esEs0(Pos(Zero)) -> True new_primModNatS02(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) new_primMinusNatS0(vuz32000) -> Succ(vuz32000) new_primMinusNatS1 -> Zero new_esEs0(Neg(Succ(vuz2500))) -> False new_esEs0(Neg(Zero)) -> True The set Q consists of the following terms: new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primMinusNatS1 new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_esEs0(Neg(Zero)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Zero)) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Zero, x0) new_esEs0(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (378) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'10(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'10(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))),new_gcd0Gcd'10(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero)))) ---------------------------------------- (379) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'10(False, Pos(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'00(Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) new_gcd0Gcd'00(Pos(x0), Neg(Succ(x1))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Pos(x0)) new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'00(Neg(x0), Pos(Succ(x1))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Neg(x0)) new_gcd0Gcd'10(False, Neg(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS1, Zero))) new_gcd0Gcd'10(False, Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'10(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'00(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(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS02(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS01(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS02(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS02(vuz130, vuz131, Zero, Zero) -> new_primModNatS01(vuz130, vuz131) new_esEs0(Pos(Succ(vuz2500))) -> False new_esEs0(Pos(Zero)) -> True new_primModNatS02(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) new_primMinusNatS0(vuz32000) -> Succ(vuz32000) new_primMinusNatS1 -> Zero new_esEs0(Neg(Succ(vuz2500))) -> False new_esEs0(Neg(Zero)) -> True The set Q consists of the following terms: new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primMinusNatS1 new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_esEs0(Neg(Zero)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Zero)) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Zero, x0) new_esEs0(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (380) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'10(False, Neg(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS1, Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'10(False, Neg(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(new_primModNatS1(Zero, Zero))),new_gcd0Gcd'10(False, Neg(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(new_primModNatS1(Zero, Zero)))) ---------------------------------------- (381) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'10(False, Pos(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'00(Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) new_gcd0Gcd'00(Pos(x0), Neg(Succ(x1))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Pos(x0)) new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'00(Neg(x0), Pos(Succ(x1))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Neg(x0)) new_gcd0Gcd'10(False, Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'10(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'10(False, Neg(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'00(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(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS02(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS01(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS02(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS02(vuz130, vuz131, Zero, Zero) -> new_primModNatS01(vuz130, vuz131) new_esEs0(Pos(Succ(vuz2500))) -> False new_esEs0(Pos(Zero)) -> True new_primModNatS02(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) new_primMinusNatS0(vuz32000) -> Succ(vuz32000) new_primMinusNatS1 -> Zero new_esEs0(Neg(Succ(vuz2500))) -> False new_esEs0(Neg(Zero)) -> True The set Q consists of the following terms: new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primMinusNatS1 new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_esEs0(Neg(Zero)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Zero)) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Zero, x0) new_esEs0(Neg(Succ(x0))) 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 1 less node. ---------------------------------------- (383) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'00(Pos(x0), Neg(Succ(x1))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Pos(x0)) new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'00(Neg(x0), Pos(Succ(x1))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Neg(x0)) new_gcd0Gcd'10(False, Pos(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'00(Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) new_gcd0Gcd'10(False, Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'10(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'00(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(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS02(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS01(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS02(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS02(vuz130, vuz131, Zero, Zero) -> new_primModNatS01(vuz130, vuz131) new_esEs0(Pos(Succ(vuz2500))) -> False new_esEs0(Pos(Zero)) -> True new_primModNatS02(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) new_primMinusNatS0(vuz32000) -> Succ(vuz32000) new_primMinusNatS1 -> Zero new_esEs0(Neg(Succ(vuz2500))) -> False new_esEs0(Neg(Zero)) -> True The set Q consists of the following terms: new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primMinusNatS1 new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_esEs0(Neg(Zero)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Zero)) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Zero, x0) new_esEs0(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (384) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_gcd0Gcd'00(Pos(x0), Neg(Succ(x1))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Pos(x0)) at position [0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'10(new_esEs0(Pos(Succ(Zero))), Neg(Succ(Succ(x0))), Pos(Succ(Zero))),new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'10(new_esEs0(Pos(Succ(Zero))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)))) (new_gcd0Gcd'00(Pos(Zero), Neg(Succ(x0))) -> new_gcd0Gcd'10(new_esEs0(Pos(Zero)), Neg(Succ(x0)), Pos(Zero)),new_gcd0Gcd'00(Pos(Zero), Neg(Succ(x0))) -> new_gcd0Gcd'10(new_esEs0(Pos(Zero)), Neg(Succ(x0)), Pos(Zero))) (new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))),new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(x0))))) (new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS1, Zero))), Neg(Succ(Zero)), Pos(Succ(Zero))),new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS1, Zero))), Neg(Succ(Zero)), Pos(Succ(Zero)))) (new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))),new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0))))) ---------------------------------------- (385) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'00(Neg(x0), Pos(Succ(x1))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Neg(x0)) new_gcd0Gcd'10(False, Pos(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'00(Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) new_gcd0Gcd'10(False, Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'10(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'10(new_esEs0(Pos(Succ(Zero))), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'00(Pos(Zero), Neg(Succ(x0))) -> new_gcd0Gcd'10(new_esEs0(Pos(Zero)), Neg(Succ(x0)), Pos(Zero)) new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS1, Zero))), Neg(Succ(Zero)), Pos(Succ(Zero))) new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primModNatS1(Zero, vuz7400) -> Zero new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS02(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS01(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS02(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS02(vuz130, vuz131, Zero, Zero) -> new_primModNatS01(vuz130, vuz131) new_esEs0(Pos(Succ(vuz2500))) -> False new_esEs0(Pos(Zero)) -> True new_primModNatS02(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) new_primMinusNatS0(vuz32000) -> Succ(vuz32000) new_primMinusNatS1 -> Zero new_esEs0(Neg(Succ(vuz2500))) -> False new_esEs0(Neg(Zero)) -> True The set Q consists of the following terms: new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primMinusNatS1 new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_esEs0(Neg(Zero)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Zero)) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Zero, x0) new_esEs0(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (386) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 2 less nodes. ---------------------------------------- (387) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'00(Neg(x0), Pos(Succ(x1))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Neg(x0)) new_gcd0Gcd'10(False, Pos(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'00(Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'10(new_esEs0(Pos(Succ(Zero))), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) new_gcd0Gcd'10(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) new_gcd0Gcd'10(False, Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x1))), Pos(new_primModNatS02(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(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS02(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS01(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS02(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS02(vuz130, vuz131, Zero, Zero) -> new_primModNatS01(vuz130, vuz131) new_esEs0(Pos(Succ(vuz2500))) -> False new_esEs0(Pos(Zero)) -> True new_primModNatS02(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) new_primMinusNatS0(vuz32000) -> Succ(vuz32000) new_primMinusNatS1 -> Zero new_esEs0(Neg(Succ(vuz2500))) -> False new_esEs0(Neg(Zero)) -> True The set Q consists of the following terms: new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primMinusNatS1 new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_esEs0(Neg(Zero)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Zero)) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Zero, x0) new_esEs0(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (388) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'10(new_esEs0(Pos(Succ(Zero))), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) at position [0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))),new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero)))) ---------------------------------------- (389) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'00(Neg(x0), Pos(Succ(x1))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Neg(x0)) new_gcd0Gcd'10(False, Pos(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'00(Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) new_gcd0Gcd'10(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) new_gcd0Gcd'10(False, Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'10(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(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS02(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS01(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS02(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS02(vuz130, vuz131, Zero, Zero) -> new_primModNatS01(vuz130, vuz131) new_esEs0(Pos(Succ(vuz2500))) -> False new_esEs0(Pos(Zero)) -> True new_primModNatS02(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) new_primMinusNatS0(vuz32000) -> Succ(vuz32000) new_primMinusNatS1 -> Zero new_esEs0(Neg(Succ(vuz2500))) -> False new_esEs0(Neg(Zero)) -> True The set Q consists of the following terms: new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primMinusNatS1 new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_esEs0(Neg(Zero)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Zero)) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Zero, x0) new_esEs0(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (390) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))),new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(x0))))) ---------------------------------------- (391) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'00(Neg(x0), Pos(Succ(x1))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Neg(x0)) new_gcd0Gcd'10(False, Pos(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'00(Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'10(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) new_gcd0Gcd'10(False, Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(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(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS02(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS01(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS02(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS02(vuz130, vuz131, Zero, Zero) -> new_primModNatS01(vuz130, vuz131) new_esEs0(Pos(Succ(vuz2500))) -> False new_esEs0(Pos(Zero)) -> True new_primModNatS02(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) new_primMinusNatS0(vuz32000) -> Succ(vuz32000) new_primMinusNatS1 -> Zero new_esEs0(Neg(Succ(vuz2500))) -> False new_esEs0(Neg(Zero)) -> True The set Q consists of the following terms: new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primMinusNatS1 new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_esEs0(Neg(Zero)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Zero)) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Zero, x0) new_esEs0(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (392) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_gcd0Gcd'00(Neg(x0), Pos(Succ(x1))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Neg(x0)) at position [0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'10(new_esEs0(Neg(Succ(Zero))), Pos(Succ(Succ(x0))), Neg(Succ(Zero))),new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'10(new_esEs0(Neg(Succ(Zero))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)))) (new_gcd0Gcd'00(Neg(Zero), Pos(Succ(x0))) -> new_gcd0Gcd'10(new_esEs0(Neg(Zero)), Pos(Succ(x0)), Neg(Zero)),new_gcd0Gcd'00(Neg(Zero), Pos(Succ(x0))) -> new_gcd0Gcd'10(new_esEs0(Neg(Zero)), Pos(Succ(x0)), Neg(Zero))) (new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))),new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(x0))))) (new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS1, Zero))), Pos(Succ(Zero)), Neg(Succ(Zero))),new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS1, Zero))), Pos(Succ(Zero)), Neg(Succ(Zero)))) (new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))),new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0))))) ---------------------------------------- (393) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'10(False, Pos(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'00(Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'10(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) new_gcd0Gcd'10(False, Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'10(new_esEs0(Neg(Succ(Zero))), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'00(Neg(Zero), Pos(Succ(x0))) -> new_gcd0Gcd'10(new_esEs0(Neg(Zero)), Pos(Succ(x0)), Neg(Zero)) new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS1, Zero))), Pos(Succ(Zero)), Neg(Succ(Zero))) new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primModNatS1(Zero, vuz7400) -> Zero new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS02(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS01(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS02(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS02(vuz130, vuz131, Zero, Zero) -> new_primModNatS01(vuz130, vuz131) new_esEs0(Pos(Succ(vuz2500))) -> False new_esEs0(Pos(Zero)) -> True new_primModNatS02(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) new_primMinusNatS0(vuz32000) -> Succ(vuz32000) new_primMinusNatS1 -> Zero new_esEs0(Neg(Succ(vuz2500))) -> False new_esEs0(Neg(Zero)) -> True The set Q consists of the following terms: new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primMinusNatS1 new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_esEs0(Neg(Zero)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Zero)) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Zero, x0) new_esEs0(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (394) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (395) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) new_gcd0Gcd'10(False, Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) new_gcd0Gcd'10(False, Pos(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'00(Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) new_gcd0Gcd'10(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'10(new_esEs0(Neg(Succ(Zero))), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS1, Zero))), Pos(Succ(Zero)), Neg(Succ(Zero))) new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primModNatS1(Zero, vuz7400) -> Zero new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS02(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS01(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS02(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS02(vuz130, vuz131, Zero, Zero) -> new_primModNatS01(vuz130, vuz131) new_esEs0(Pos(Succ(vuz2500))) -> False new_esEs0(Pos(Zero)) -> True new_primModNatS02(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) new_primMinusNatS0(vuz32000) -> Succ(vuz32000) new_primMinusNatS1 -> Zero new_esEs0(Neg(Succ(vuz2500))) -> False new_esEs0(Neg(Zero)) -> True The set Q consists of the following terms: new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primMinusNatS1 new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_esEs0(Neg(Zero)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Zero)) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Zero, x0) new_esEs0(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (396) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))),new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(x0))))) ---------------------------------------- (397) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) new_gcd0Gcd'10(False, Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'10(False, Pos(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'00(Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) new_gcd0Gcd'10(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'10(new_esEs0(Neg(Succ(Zero))), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS1, Zero))), Pos(Succ(Zero)), Neg(Succ(Zero))) new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(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(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS02(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS01(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS02(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS02(vuz130, vuz131, Zero, Zero) -> new_primModNatS01(vuz130, vuz131) new_esEs0(Pos(Succ(vuz2500))) -> False new_esEs0(Pos(Zero)) -> True new_primModNatS02(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) new_primMinusNatS0(vuz32000) -> Succ(vuz32000) new_primMinusNatS1 -> Zero new_esEs0(Neg(Succ(vuz2500))) -> False new_esEs0(Neg(Zero)) -> True The set Q consists of the following terms: new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primMinusNatS1 new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_esEs0(Neg(Zero)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Zero)) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Zero, x0) new_esEs0(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (398) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'10(new_esEs0(Neg(Succ(Zero))), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) at position [0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))),new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero)))) ---------------------------------------- (399) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) new_gcd0Gcd'10(False, Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'10(False, Pos(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'00(Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) new_gcd0Gcd'10(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS1, Zero))), Pos(Succ(Zero)), Neg(Succ(Zero))) new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'10(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(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS02(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS01(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS02(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS02(vuz130, vuz131, Zero, Zero) -> new_primModNatS01(vuz130, vuz131) new_esEs0(Pos(Succ(vuz2500))) -> False new_esEs0(Pos(Zero)) -> True new_primModNatS02(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) new_primMinusNatS0(vuz32000) -> Succ(vuz32000) new_primMinusNatS1 -> Zero new_esEs0(Neg(Succ(vuz2500))) -> False new_esEs0(Neg(Zero)) -> True The set Q consists of the following terms: new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primMinusNatS1 new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_esEs0(Neg(Zero)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Zero)) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Zero, x0) new_esEs0(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (400) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS1, Zero))), Pos(Succ(Zero)), Neg(Succ(Zero))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Zero, Zero))), Pos(Succ(Zero)), Neg(Succ(Zero))),new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Zero, Zero))), Pos(Succ(Zero)), Neg(Succ(Zero)))) ---------------------------------------- (401) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) new_gcd0Gcd'10(False, Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'10(False, Pos(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'00(Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) new_gcd0Gcd'10(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(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(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS02(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS01(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS02(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS02(vuz130, vuz131, Zero, Zero) -> new_primModNatS01(vuz130, vuz131) new_esEs0(Pos(Succ(vuz2500))) -> False new_esEs0(Pos(Zero)) -> True new_primModNatS02(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) new_primMinusNatS0(vuz32000) -> Succ(vuz32000) new_primMinusNatS1 -> Zero new_esEs0(Neg(Succ(vuz2500))) -> False new_esEs0(Neg(Zero)) -> True The set Q consists of the following terms: new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primMinusNatS1 new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_esEs0(Neg(Zero)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Zero)) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Zero, x0) new_esEs0(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (402) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(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'00(Neg(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(Zero)), Pos(Succ(Zero)), Neg(Succ(Zero))),new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(Zero)), Pos(Succ(Zero)), Neg(Succ(Zero)))) ---------------------------------------- (403) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) new_gcd0Gcd'10(False, Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'10(False, Pos(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'00(Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) new_gcd0Gcd'10(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(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(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS02(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS01(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS02(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS02(vuz130, vuz131, Zero, Zero) -> new_primModNatS01(vuz130, vuz131) new_esEs0(Pos(Succ(vuz2500))) -> False new_esEs0(Pos(Zero)) -> True new_primModNatS02(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) new_primMinusNatS0(vuz32000) -> Succ(vuz32000) new_primMinusNatS1 -> Zero new_esEs0(Neg(Succ(vuz2500))) -> False new_esEs0(Neg(Zero)) -> True The set Q consists of the following terms: new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primMinusNatS1 new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_esEs0(Neg(Zero)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Zero)) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Zero, x0) new_esEs0(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (404) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (405) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'10(False, Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) new_gcd0Gcd'10(False, Pos(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'00(Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) new_gcd0Gcd'10(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'10(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(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS02(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS01(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS02(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS02(vuz130, vuz131, Zero, Zero) -> new_primModNatS01(vuz130, vuz131) new_esEs0(Pos(Succ(vuz2500))) -> False new_esEs0(Pos(Zero)) -> True new_primModNatS02(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) new_primMinusNatS0(vuz32000) -> Succ(vuz32000) new_primMinusNatS1 -> Zero new_esEs0(Neg(Succ(vuz2500))) -> False new_esEs0(Neg(Zero)) -> True The set Q consists of the following terms: new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primMinusNatS1 new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_esEs0(Neg(Zero)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Zero)) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Zero, x0) new_esEs0(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (406) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_gcd0Gcd'10(False, Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) at position [1,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(Succ(x2), Zero))),new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(Succ(x2), Zero)))) (new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))),new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)))) (new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(Zero, Zero))),new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(Zero, Zero)))) (new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))),new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))))) ---------------------------------------- (407) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) new_gcd0Gcd'10(False, Pos(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'00(Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) new_gcd0Gcd'10(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(Succ(x2), Zero))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(Zero, Zero))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(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(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS02(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS01(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS02(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS02(vuz130, vuz131, Zero, Zero) -> new_primModNatS01(vuz130, vuz131) new_esEs0(Pos(Succ(vuz2500))) -> False new_esEs0(Pos(Zero)) -> True new_primModNatS02(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) new_primMinusNatS0(vuz32000) -> Succ(vuz32000) new_primMinusNatS1 -> Zero new_esEs0(Neg(Succ(vuz2500))) -> False new_esEs0(Neg(Zero)) -> True The set Q consists of the following terms: new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primMinusNatS1 new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_esEs0(Neg(Zero)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Zero)) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Zero, x0) new_esEs0(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (408) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(Succ(x2), Zero))) at position [1,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))),new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero))))) ---------------------------------------- (409) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) new_gcd0Gcd'10(False, Pos(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'00(Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) new_gcd0Gcd'10(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(Zero, Zero))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primModNatS1(Zero, vuz7400) -> Zero new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS02(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS01(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS02(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS02(vuz130, vuz131, Zero, Zero) -> new_primModNatS01(vuz130, vuz131) new_esEs0(Pos(Succ(vuz2500))) -> False new_esEs0(Pos(Zero)) -> True new_primModNatS02(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) new_primMinusNatS0(vuz32000) -> Succ(vuz32000) new_primMinusNatS1 -> Zero new_esEs0(Neg(Succ(vuz2500))) -> False new_esEs0(Neg(Zero)) -> True The set Q consists of the following terms: new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primMinusNatS1 new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_esEs0(Neg(Zero)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Zero)) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Zero, x0) new_esEs0(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (410) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(Zero, Zero))) at position [1,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero)))),new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero))))) ---------------------------------------- (411) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) new_gcd0Gcd'10(False, Pos(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'00(Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) new_gcd0Gcd'10(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primModNatS1(Zero, vuz7400) -> Zero new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS02(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS01(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS02(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS02(vuz130, vuz131, Zero, Zero) -> new_primModNatS01(vuz130, vuz131) new_esEs0(Pos(Succ(vuz2500))) -> False new_esEs0(Pos(Zero)) -> True new_primModNatS02(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) new_primMinusNatS0(vuz32000) -> Succ(vuz32000) new_primMinusNatS1 -> Zero new_esEs0(Neg(Succ(vuz2500))) -> False new_esEs0(Neg(Zero)) -> True The set Q consists of the following terms: new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primMinusNatS1 new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_esEs0(Neg(Zero)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Zero)) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Zero, x0) new_esEs0(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (412) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))),new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero))))) ---------------------------------------- (413) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) new_gcd0Gcd'10(False, Pos(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'00(Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) new_gcd0Gcd'10(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero)))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primModNatS1(Zero, vuz7400) -> Zero new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS02(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS01(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS02(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS02(vuz130, vuz131, Zero, Zero) -> new_primModNatS01(vuz130, vuz131) new_esEs0(Pos(Succ(vuz2500))) -> False new_esEs0(Pos(Zero)) -> True new_primModNatS02(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) new_primMinusNatS0(vuz32000) -> Succ(vuz32000) new_primMinusNatS1 -> Zero new_esEs0(Neg(Succ(vuz2500))) -> False new_esEs0(Neg(Zero)) -> True The set Q consists of the following terms: new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primMinusNatS1 new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_esEs0(Neg(Zero)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Zero)) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Zero, x0) new_esEs0(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (414) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero)))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero)))),new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero))))) ---------------------------------------- (415) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) new_gcd0Gcd'10(False, Pos(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'00(Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) new_gcd0Gcd'10(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primModNatS1(Zero, vuz7400) -> Zero new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS02(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS01(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS02(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS02(vuz130, vuz131, Zero, Zero) -> new_primModNatS01(vuz130, vuz131) new_esEs0(Pos(Succ(vuz2500))) -> False new_esEs0(Pos(Zero)) -> True new_primModNatS02(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) new_primMinusNatS0(vuz32000) -> Succ(vuz32000) new_primMinusNatS1 -> Zero new_esEs0(Neg(Succ(vuz2500))) -> False new_esEs0(Neg(Zero)) -> True The set Q consists of the following terms: new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primMinusNatS1 new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_esEs0(Neg(Zero)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Zero)) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Zero, x0) new_esEs0(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (416) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))),new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(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'00(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) new_gcd0Gcd'10(False, Pos(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'00(Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) new_gcd0Gcd'10(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero)))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(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(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS02(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS01(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS02(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS02(vuz130, vuz131, Zero, Zero) -> new_primModNatS01(vuz130, vuz131) new_esEs0(Pos(Succ(vuz2500))) -> False new_esEs0(Pos(Zero)) -> True new_primModNatS02(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) new_primMinusNatS0(vuz32000) -> Succ(vuz32000) new_primMinusNatS1 -> Zero new_esEs0(Neg(Succ(vuz2500))) -> False new_esEs0(Neg(Zero)) -> True The set Q consists of the following terms: new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primMinusNatS1 new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_esEs0(Neg(Zero)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Zero)) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Zero, x0) new_esEs0(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (418) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero)))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Zero, Succ(Zero)))),new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Zero, Succ(Zero))))) ---------------------------------------- (419) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) new_gcd0Gcd'10(False, Pos(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'00(Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) new_gcd0Gcd'10(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(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(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS02(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS01(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS02(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS02(vuz130, vuz131, Zero, Zero) -> new_primModNatS01(vuz130, vuz131) new_esEs0(Pos(Succ(vuz2500))) -> False new_esEs0(Pos(Zero)) -> True new_primModNatS02(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) new_primMinusNatS0(vuz32000) -> Succ(vuz32000) new_primMinusNatS1 -> Zero new_esEs0(Neg(Succ(vuz2500))) -> False new_esEs0(Neg(Zero)) -> True The set Q consists of the following terms: new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primMinusNatS1 new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_esEs0(Neg(Zero)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Zero)) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Zero, x0) new_esEs0(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (420) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (421) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'10(False, Pos(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'00(Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) new_gcd0Gcd'10(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'10(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(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS02(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS01(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS02(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS02(vuz130, vuz131, Zero, Zero) -> new_primModNatS01(vuz130, vuz131) new_esEs0(Pos(Succ(vuz2500))) -> False new_esEs0(Pos(Zero)) -> True new_primModNatS02(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) new_primMinusNatS0(vuz32000) -> Succ(vuz32000) new_primMinusNatS1 -> Zero new_esEs0(Neg(Succ(vuz2500))) -> False new_esEs0(Neg(Zero)) -> True The set Q consists of the following terms: new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primMinusNatS1 new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_esEs0(Neg(Zero)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Zero)) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Zero, x0) new_esEs0(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (422) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_gcd0Gcd'10(False, Pos(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'00(Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) at position [1,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'10(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Zero))),new_gcd0Gcd'10(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Zero)))) (new_gcd0Gcd'10(False, Pos(Succ(x0)), Neg(Zero)) -> new_gcd0Gcd'00(Pos(Succ(x0)), Neg(Zero)),new_gcd0Gcd'10(False, Pos(Succ(x0)), Neg(Zero)) -> new_gcd0Gcd'00(Pos(Succ(x0)), Neg(Zero))) (new_gcd0Gcd'10(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))),new_gcd0Gcd'10(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero)))) (new_gcd0Gcd'10(False, Pos(Succ(Zero)), Neg(Succ(Zero))) -> new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS1, Zero))),new_gcd0Gcd'10(False, Pos(Succ(Zero)), Neg(Succ(Zero))) -> new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS1, Zero)))) (new_gcd0Gcd'10(False, Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))),new_gcd0Gcd'10(False, Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1)))) ---------------------------------------- (423) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) new_gcd0Gcd'10(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'10(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'10(False, Pos(Succ(x0)), Neg(Zero)) -> new_gcd0Gcd'00(Pos(Succ(x0)), Neg(Zero)) new_gcd0Gcd'10(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))) new_gcd0Gcd'10(False, Pos(Succ(Zero)), Neg(Succ(Zero))) -> new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS1, Zero))) new_gcd0Gcd'10(False, Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Pos(Succ(Succ(x1))), Neg(new_primModNatS02(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(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS02(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS01(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS02(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS02(vuz130, vuz131, Zero, Zero) -> new_primModNatS01(vuz130, vuz131) new_esEs0(Pos(Succ(vuz2500))) -> False new_esEs0(Pos(Zero)) -> True new_primModNatS02(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) new_primMinusNatS0(vuz32000) -> Succ(vuz32000) new_primMinusNatS1 -> Zero new_esEs0(Neg(Succ(vuz2500))) -> False new_esEs0(Neg(Zero)) -> True The set Q consists of the following terms: new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primMinusNatS1 new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_esEs0(Neg(Zero)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Zero)) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Zero, x0) new_esEs0(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (424) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 3 SCCs with 2 less nodes. ---------------------------------------- (425) Complex Obligation (AND) ---------------------------------------- (426) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'10(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'10(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(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(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS02(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS01(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS02(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS02(vuz130, vuz131, Zero, Zero) -> new_primModNatS01(vuz130, vuz131) new_esEs0(Pos(Succ(vuz2500))) -> False new_esEs0(Pos(Zero)) -> True new_primModNatS02(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) new_primMinusNatS0(vuz32000) -> Succ(vuz32000) new_primMinusNatS1 -> Zero new_esEs0(Neg(Succ(vuz2500))) -> False new_esEs0(Neg(Zero)) -> True The set Q consists of the following terms: new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primMinusNatS1 new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_esEs0(Neg(Zero)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Zero)) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Zero, x0) new_esEs0(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (427) 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. ---------------------------------------- (428) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'10(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'10(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) new_esEs0(Pos(Succ(vuz2500))) -> False new_esEs0(Pos(Zero)) -> True new_primMinusNatS1 -> Zero new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS0(vuz32000) -> Succ(vuz32000) The set Q consists of the following terms: new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primMinusNatS1 new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_esEs0(Neg(Zero)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Zero)) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Zero, x0) new_esEs0(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (429) 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_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) new_primMinusNatS2(Zero, Zero) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) ---------------------------------------- (430) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'10(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'10(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) new_esEs0(Pos(Succ(vuz2500))) -> False new_esEs0(Pos(Zero)) -> True new_primMinusNatS1 -> Zero new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS0(vuz32000) -> Succ(vuz32000) The set Q consists of the following terms: new_primMinusNatS0(x0) new_primMinusNatS1 new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs0(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_esEs0(Neg(Zero)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Zero)) new_primModNatS1(Zero, x0) new_esEs0(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (431) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_gcd0Gcd'10(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) at position [1,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'10(False, Neg(Succ(Zero)), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS1, Zero))),new_gcd0Gcd'10(False, Neg(Succ(Zero)), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS1, Zero)))) (new_gcd0Gcd'10(False, Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))),new_gcd0Gcd'10(False, Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero)))) ---------------------------------------- (432) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'10(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) new_gcd0Gcd'10(False, Neg(Succ(Zero)), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS1, Zero))) new_gcd0Gcd'10(False, Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) new_esEs0(Pos(Succ(vuz2500))) -> False new_esEs0(Pos(Zero)) -> True new_primMinusNatS1 -> Zero new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS0(vuz32000) -> Succ(vuz32000) The set Q consists of the following terms: new_primMinusNatS0(x0) new_primMinusNatS1 new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs0(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_esEs0(Neg(Zero)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Zero)) new_primModNatS1(Zero, x0) new_esEs0(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (433) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'10(False, Neg(Succ(Zero)), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS1, Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'10(False, Neg(Succ(Zero)), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(new_primModNatS1(Zero, Zero))),new_gcd0Gcd'10(False, Neg(Succ(Zero)), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(new_primModNatS1(Zero, Zero)))) ---------------------------------------- (434) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'10(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) new_gcd0Gcd'10(False, Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))) new_gcd0Gcd'10(False, Neg(Succ(Zero)), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(new_primModNatS1(Zero, Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) new_esEs0(Pos(Succ(vuz2500))) -> False new_esEs0(Pos(Zero)) -> True new_primMinusNatS1 -> Zero new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS0(vuz32000) -> Succ(vuz32000) The set Q consists of the following terms: new_primMinusNatS0(x0) new_primMinusNatS1 new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs0(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_esEs0(Neg(Zero)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Zero)) new_primModNatS1(Zero, x0) new_esEs0(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (435) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (436) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'10(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) new_gcd0Gcd'10(False, Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))) new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) new_esEs0(Pos(Succ(vuz2500))) -> False new_esEs0(Pos(Zero)) -> True new_primMinusNatS1 -> Zero new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS0(vuz32000) -> Succ(vuz32000) The set Q consists of the following terms: new_primMinusNatS0(x0) new_primMinusNatS1 new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs0(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_esEs0(Neg(Zero)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Zero)) new_primModNatS1(Zero, x0) new_esEs0(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (437) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'10(False, Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'10(False, Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))),new_gcd0Gcd'10(False, Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero)))) ---------------------------------------- (438) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'10(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'10(False, Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) new_esEs0(Pos(Succ(vuz2500))) -> False new_esEs0(Pos(Zero)) -> True new_primMinusNatS1 -> Zero new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS0(vuz32000) -> Succ(vuz32000) The set Q consists of the following terms: new_primMinusNatS0(x0) new_primMinusNatS1 new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs0(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_esEs0(Neg(Zero)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Zero)) new_primModNatS1(Zero, x0) new_esEs0(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (439) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(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'00(Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS1, Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Zero)))),new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS1, Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Zero))))) (new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))),new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS0(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'10(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'10(False, Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS1, Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) new_esEs0(Pos(Succ(vuz2500))) -> False new_esEs0(Pos(Zero)) -> True new_primMinusNatS1 -> Zero new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS0(vuz32000) -> Succ(vuz32000) The set Q consists of the following terms: new_primMinusNatS0(x0) new_primMinusNatS1 new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs0(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_esEs0(Neg(Zero)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Zero)) new_primModNatS1(Zero, x0) new_esEs0(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (441) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (442) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) new_gcd0Gcd'10(False, Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'10(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) new_esEs0(Pos(Succ(vuz2500))) -> False new_esEs0(Pos(Zero)) -> True new_primMinusNatS1 -> Zero new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS0(vuz32000) -> Succ(vuz32000) The set Q consists of the following terms: new_primMinusNatS0(x0) new_primMinusNatS1 new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs0(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_esEs0(Neg(Zero)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Zero)) new_primModNatS1(Zero, x0) new_esEs0(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (443) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))),new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))))) ---------------------------------------- (444) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'10(False, Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'10(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) new_esEs0(Pos(Succ(vuz2500))) -> False new_esEs0(Pos(Zero)) -> True new_primMinusNatS1 -> Zero new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS0(vuz32000) -> Succ(vuz32000) The set Q consists of the following terms: new_primMinusNatS0(x0) new_primMinusNatS1 new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs0(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_esEs0(Neg(Zero)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Zero)) new_primModNatS1(Zero, x0) new_esEs0(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (445) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_gcd0Gcd'10(False, Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) at position [1,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'10(False, Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS1, Zero))),new_gcd0Gcd'10(False, Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS1, Zero)))) (new_gcd0Gcd'10(False, Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))),new_gcd0Gcd'10(False, Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero)))) ---------------------------------------- (446) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'10(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) new_gcd0Gcd'10(False, Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS1, Zero))) new_gcd0Gcd'10(False, Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) new_esEs0(Pos(Succ(vuz2500))) -> False new_esEs0(Pos(Zero)) -> True new_primMinusNatS1 -> Zero new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS0(vuz32000) -> Succ(vuz32000) The set Q consists of the following terms: new_primMinusNatS0(x0) new_primMinusNatS1 new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs0(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_esEs0(Neg(Zero)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Zero)) new_primModNatS1(Zero, x0) new_esEs0(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (447) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'10(False, Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS1, Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'10(False, Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(new_primModNatS1(Zero, Zero))),new_gcd0Gcd'10(False, Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(new_primModNatS1(Zero, Zero)))) ---------------------------------------- (448) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'10(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) new_gcd0Gcd'10(False, Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))) new_gcd0Gcd'10(False, Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(new_primModNatS1(Zero, Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) new_esEs0(Pos(Succ(vuz2500))) -> False new_esEs0(Pos(Zero)) -> True new_primMinusNatS1 -> Zero new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS0(vuz32000) -> Succ(vuz32000) The set Q consists of the following terms: new_primMinusNatS0(x0) new_primMinusNatS1 new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs0(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_esEs0(Neg(Zero)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Zero)) new_primModNatS1(Zero, x0) new_esEs0(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (449) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (450) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'10(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) new_gcd0Gcd'10(False, Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))) new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) new_esEs0(Pos(Succ(vuz2500))) -> False new_esEs0(Pos(Zero)) -> True new_primMinusNatS1 -> Zero new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS0(vuz32000) -> Succ(vuz32000) The set Q consists of the following terms: new_primMinusNatS0(x0) new_primMinusNatS1 new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs0(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_esEs0(Neg(Zero)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Zero)) new_primModNatS1(Zero, x0) new_esEs0(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (451) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'10(False, Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'10(False, Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))),new_gcd0Gcd'10(False, Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero)))) ---------------------------------------- (452) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'10(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'10(False, Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) new_esEs0(Pos(Succ(vuz2500))) -> False new_esEs0(Pos(Zero)) -> True new_primMinusNatS1 -> Zero new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS0(vuz32000) -> Succ(vuz32000) The set Q consists of the following terms: new_primMinusNatS0(x0) new_primMinusNatS1 new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs0(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_esEs0(Neg(Zero)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Zero)) new_primModNatS1(Zero, x0) new_esEs0(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (453) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(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'00(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS1, Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS1, Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Zero)))))) (new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))),new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS0(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'10(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'10(False, Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS1, Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) new_esEs0(Pos(Succ(vuz2500))) -> False new_esEs0(Pos(Zero)) -> True new_primMinusNatS1 -> Zero new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS0(vuz32000) -> Succ(vuz32000) The set Q consists of the following terms: new_primMinusNatS0(x0) new_primMinusNatS1 new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs0(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_esEs0(Neg(Zero)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Zero)) new_primModNatS1(Zero, x0) new_esEs0(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (455) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (456) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'10(False, Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'10(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) new_esEs0(Pos(Succ(vuz2500))) -> False new_esEs0(Pos(Zero)) -> True new_primMinusNatS1 -> Zero new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS0(vuz32000) -> Succ(vuz32000) The set Q consists of the following terms: new_primMinusNatS0(x0) new_primMinusNatS1 new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs0(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_esEs0(Neg(Zero)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Zero)) new_primModNatS1(Zero, x0) new_esEs0(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (457) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))),new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))))) ---------------------------------------- (458) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'10(False, Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'10(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) new_esEs0(Pos(Succ(vuz2500))) -> False new_esEs0(Pos(Zero)) -> True new_primMinusNatS1 -> Zero new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS0(vuz32000) -> Succ(vuz32000) The set Q consists of the following terms: new_primMinusNatS0(x0) new_primMinusNatS1 new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs0(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_esEs0(Neg(Zero)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Zero)) new_primModNatS1(Zero, x0) new_esEs0(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (459) QDPSizeChangeProof (EQUIVALENT) We used the following order together with the size-change analysis [AAECC05] to show that there are no infinite chains for this DP problem. Order:Polynomial interpretation [POLO]: POL(False) = 1 POL(Neg(x_1)) = 1 POL(Pos(x_1)) = x_1 POL(Succ(x_1)) = 1 + x_1 POL(Zero) = 1 POL(new_primMinusNatS0(x_1)) = 1 + x_1 POL(new_primMinusNatS1) = 1 POL(new_primModNatS1(x_1, x_2)) = x_1 From the DPs we obtained the following set of size-change graphs: *new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'10(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'00(Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(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'10(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'00(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'10(False, Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'00(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_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz32000) -> Succ(vuz32000) ---------------------------------------- (460) YES ---------------------------------------- (461) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'10(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))) new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(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(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS02(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS01(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS02(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS02(vuz130, vuz131, Zero, Zero) -> new_primModNatS01(vuz130, vuz131) new_esEs0(Pos(Succ(vuz2500))) -> False new_esEs0(Pos(Zero)) -> True new_primModNatS02(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) new_primMinusNatS0(vuz32000) -> Succ(vuz32000) new_primMinusNatS1 -> Zero new_esEs0(Neg(Succ(vuz2500))) -> False new_esEs0(Neg(Zero)) -> True The set Q consists of the following terms: new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primMinusNatS1 new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_esEs0(Neg(Zero)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Zero)) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Zero, x0) new_esEs0(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (462) 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. ---------------------------------------- (463) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'10(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))) new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) new_esEs0(Neg(Succ(vuz2500))) -> False new_esEs0(Neg(Zero)) -> True new_primMinusNatS1 -> Zero new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS0(vuz32000) -> Succ(vuz32000) The set Q consists of the following terms: new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primMinusNatS1 new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_esEs0(Neg(Zero)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Zero)) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Zero, x0) new_esEs0(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (464) 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_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) new_primMinusNatS2(Zero, Zero) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) ---------------------------------------- (465) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'10(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))) new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) new_esEs0(Neg(Succ(vuz2500))) -> False new_esEs0(Neg(Zero)) -> True new_primMinusNatS1 -> Zero new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS0(vuz32000) -> Succ(vuz32000) The set Q consists of the following terms: new_primMinusNatS0(x0) new_primMinusNatS1 new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs0(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_esEs0(Neg(Zero)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Zero)) new_primModNatS1(Zero, x0) new_esEs0(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (466) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'10(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'10(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))),new_gcd0Gcd'10(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero)))) ---------------------------------------- (467) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) new_gcd0Gcd'10(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) new_esEs0(Neg(Succ(vuz2500))) -> False new_esEs0(Neg(Zero)) -> True new_primMinusNatS1 -> Zero new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS0(vuz32000) -> Succ(vuz32000) The set Q consists of the following terms: new_primMinusNatS0(x0) new_primMinusNatS1 new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs0(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_esEs0(Neg(Zero)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Zero)) new_primModNatS1(Zero, x0) new_esEs0(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (468) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(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'00(Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS1, Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Zero)))),new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS1, Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Zero))))) (new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))),new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))))) ---------------------------------------- (469) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'10(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS1, Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) new_esEs0(Neg(Succ(vuz2500))) -> False new_esEs0(Neg(Zero)) -> True new_primMinusNatS1 -> Zero new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS0(vuz32000) -> Succ(vuz32000) The set Q consists of the following terms: new_primMinusNatS0(x0) new_primMinusNatS1 new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs0(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_esEs0(Neg(Zero)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Zero)) new_primModNatS1(Zero, x0) new_esEs0(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (470) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS1, Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Zero)))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Zero, Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Zero)))),new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Zero, Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Zero))))) ---------------------------------------- (471) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'10(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Zero, Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) new_esEs0(Neg(Succ(vuz2500))) -> False new_esEs0(Neg(Zero)) -> True new_primMinusNatS1 -> Zero new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS0(vuz32000) -> Succ(vuz32000) The set Q consists of the following terms: new_primMinusNatS0(x0) new_primMinusNatS1 new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs0(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_esEs0(Neg(Zero)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Zero)) new_primModNatS1(Zero, x0) new_esEs0(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (472) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))),new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))))) ---------------------------------------- (473) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'10(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Zero, Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) new_esEs0(Neg(Succ(vuz2500))) -> False new_esEs0(Neg(Zero)) -> True new_primMinusNatS1 -> Zero new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS0(vuz32000) -> Succ(vuz32000) The set Q consists of the following terms: new_primMinusNatS0(x0) new_primMinusNatS1 new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs0(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_esEs0(Neg(Zero)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Zero)) new_primModNatS1(Zero, x0) new_esEs0(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (474) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(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'00(Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Zero)))),new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Zero))))) ---------------------------------------- (475) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'10(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) new_esEs0(Neg(Succ(vuz2500))) -> False new_esEs0(Neg(Zero)) -> True new_primMinusNatS1 -> Zero new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS0(vuz32000) -> Succ(vuz32000) The set Q consists of the following terms: new_primMinusNatS0(x0) new_primMinusNatS1 new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs0(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_esEs0(Neg(Zero)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Zero)) new_primModNatS1(Zero, x0) new_esEs0(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (476) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (477) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) new_gcd0Gcd'10(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) new_esEs0(Neg(Succ(vuz2500))) -> False new_esEs0(Neg(Zero)) -> True new_primMinusNatS1 -> Zero new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS0(vuz32000) -> Succ(vuz32000) The set Q consists of the following terms: new_primMinusNatS0(x0) new_primMinusNatS1 new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs0(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_esEs0(Neg(Zero)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Zero)) new_primModNatS1(Zero, x0) new_esEs0(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (478) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(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'00(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS1, Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS1, Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Zero)))))) (new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))),new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0))))))) ---------------------------------------- (479) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'10(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS1, Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) new_esEs0(Neg(Succ(vuz2500))) -> False new_esEs0(Neg(Zero)) -> True new_primMinusNatS1 -> Zero new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS0(vuz32000) -> Succ(vuz32000) The set Q consists of the following terms: new_primMinusNatS0(x0) new_primMinusNatS1 new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs0(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_esEs0(Neg(Zero)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Zero)) new_primModNatS1(Zero, x0) new_esEs0(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (480) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS1, Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Zero))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Zero, Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Zero, Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Zero)))))) ---------------------------------------- (481) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'10(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Zero, Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) new_esEs0(Neg(Succ(vuz2500))) -> False new_esEs0(Neg(Zero)) -> True new_primMinusNatS1 -> Zero new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS0(vuz32000) -> Succ(vuz32000) The set Q consists of the following terms: new_primMinusNatS0(x0) new_primMinusNatS1 new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs0(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_esEs0(Neg(Zero)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Zero)) new_primModNatS1(Zero, x0) new_esEs0(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (482) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))),new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0))))))) ---------------------------------------- (483) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'10(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Zero, Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) new_esEs0(Neg(Succ(vuz2500))) -> False new_esEs0(Neg(Zero)) -> True new_primMinusNatS1 -> Zero new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS0(vuz32000) -> Succ(vuz32000) The set Q consists of the following terms: new_primMinusNatS0(x0) new_primMinusNatS1 new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs0(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_esEs0(Neg(Zero)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Zero)) new_primModNatS1(Zero, x0) new_esEs0(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (484) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(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'00(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Zero)))))) ---------------------------------------- (485) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'10(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) new_esEs0(Neg(Succ(vuz2500))) -> False new_esEs0(Neg(Zero)) -> True new_primMinusNatS1 -> Zero new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS0(vuz32000) -> Succ(vuz32000) The set Q consists of the following terms: new_primMinusNatS0(x0) new_primMinusNatS1 new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs0(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_esEs0(Neg(Zero)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Zero)) new_primModNatS1(Zero, x0) new_esEs0(Neg(Succ(x0))) 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'00(Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'10(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) new_esEs0(Neg(Succ(vuz2500))) -> False new_esEs0(Neg(Zero)) -> True new_primMinusNatS1 -> Zero new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS0(vuz32000) -> Succ(vuz32000) The set Q consists of the following terms: new_primMinusNatS0(x0) new_primMinusNatS1 new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs0(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_esEs0(Neg(Zero)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Zero)) new_primModNatS1(Zero, x0) new_esEs0(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (488) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_gcd0Gcd'10(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) at position [1,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'10(False, Pos(Succ(Zero)), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS1, Zero))),new_gcd0Gcd'10(False, Pos(Succ(Zero)), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS1, Zero)))) (new_gcd0Gcd'10(False, Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))),new_gcd0Gcd'10(False, Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero)))) ---------------------------------------- (489) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'10(False, Pos(Succ(Zero)), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS1, Zero))) new_gcd0Gcd'10(False, Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) new_esEs0(Neg(Succ(vuz2500))) -> False new_esEs0(Neg(Zero)) -> True new_primMinusNatS1 -> Zero new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS0(vuz32000) -> Succ(vuz32000) The set Q consists of the following terms: new_primMinusNatS0(x0) new_primMinusNatS1 new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs0(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_esEs0(Neg(Zero)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Zero)) new_primModNatS1(Zero, x0) new_esEs0(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (490) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (491) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'10(False, Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))) new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) new_esEs0(Neg(Succ(vuz2500))) -> False new_esEs0(Neg(Zero)) -> True new_primMinusNatS1 -> Zero new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS0(vuz32000) -> Succ(vuz32000) The set Q consists of the following terms: new_primMinusNatS0(x0) new_primMinusNatS1 new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs0(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_esEs0(Neg(Zero)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Zero)) new_primModNatS1(Zero, x0) new_esEs0(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (492) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'10(False, Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'10(False, Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))),new_gcd0Gcd'10(False, Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero)))) ---------------------------------------- (493) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'10(False, Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) new_esEs0(Neg(Succ(vuz2500))) -> False new_esEs0(Neg(Zero)) -> True new_primMinusNatS1 -> Zero new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS0(vuz32000) -> Succ(vuz32000) The set Q consists of the following terms: new_primMinusNatS0(x0) new_primMinusNatS1 new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs0(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_esEs0(Neg(Zero)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Zero)) new_primModNatS1(Zero, x0) new_esEs0(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (494) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_gcd0Gcd'10(False, Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) at position [1,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'10(False, Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS1, Zero))),new_gcd0Gcd'10(False, Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS1, Zero)))) (new_gcd0Gcd'10(False, Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))),new_gcd0Gcd'10(False, Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero)))) ---------------------------------------- (495) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'10(False, Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS1, Zero))) new_gcd0Gcd'10(False, Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) new_esEs0(Neg(Succ(vuz2500))) -> False new_esEs0(Neg(Zero)) -> True new_primMinusNatS1 -> Zero new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS0(vuz32000) -> Succ(vuz32000) The set Q consists of the following terms: new_primMinusNatS0(x0) new_primMinusNatS1 new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs0(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_esEs0(Neg(Zero)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Zero)) new_primModNatS1(Zero, x0) new_esEs0(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (496) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (497) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'10(False, Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))) new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) new_esEs0(Neg(Succ(vuz2500))) -> False new_esEs0(Neg(Zero)) -> True new_primMinusNatS1 -> Zero new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS0(vuz32000) -> Succ(vuz32000) The set Q consists of the following terms: new_primMinusNatS0(x0) new_primMinusNatS1 new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs0(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_esEs0(Neg(Zero)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Zero)) new_primModNatS1(Zero, x0) new_esEs0(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (498) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'10(False, Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'10(False, Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))),new_gcd0Gcd'10(False, Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero)))) ---------------------------------------- (499) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'10(False, Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) new_esEs0(Neg(Succ(vuz2500))) -> False new_esEs0(Neg(Zero)) -> True new_primMinusNatS1 -> Zero new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS0(vuz32000) -> Succ(vuz32000) The set Q consists of the following terms: new_primMinusNatS0(x0) new_primMinusNatS1 new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs0(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_esEs0(Neg(Zero)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Zero)) new_primModNatS1(Zero, x0) new_esEs0(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (500) QDPSizeChangeProof (EQUIVALENT) We used the following order together with the size-change analysis [AAECC05] to show that there are no infinite chains for this DP problem. Order:Polynomial interpretation [POLO]: POL(False) = 1 POL(Neg(x_1)) = x_1 POL(Pos(x_1)) = 1 POL(Succ(x_1)) = 1 + x_1 POL(Zero) = 1 POL(new_primMinusNatS0(x_1)) = 1 + x_1 POL(new_primMinusNatS1) = 1 POL(new_primModNatS1(x_1, x_2)) = x_1 From the DPs we obtained the following set of size-change graphs: *new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(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'00(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'10(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'10(False, Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'00(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'10(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'00(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_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz32000) -> Succ(vuz32000) ---------------------------------------- (501) YES ---------------------------------------- (502) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) new_gcd0Gcd'10(False, Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(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(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS02(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS01(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS02(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS02(vuz130, vuz131, Zero, Zero) -> new_primModNatS01(vuz130, vuz131) new_esEs0(Pos(Succ(vuz2500))) -> False new_esEs0(Pos(Zero)) -> True new_primModNatS02(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) new_primMinusNatS0(vuz32000) -> Succ(vuz32000) new_primMinusNatS1 -> Zero new_esEs0(Neg(Succ(vuz2500))) -> False new_esEs0(Neg(Zero)) -> True The set Q consists of the following terms: new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primMinusNatS1 new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_esEs0(Neg(Zero)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Zero)) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Zero, x0) new_esEs0(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (503) 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. ---------------------------------------- (504) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) new_gcd0Gcd'10(False, Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(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_primModNatS02(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS01(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS02(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS02(vuz130, vuz131, Zero, Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS02(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) new_esEs0(Pos(Succ(vuz2500))) -> False new_esEs0(Pos(Zero)) -> True new_esEs0(Neg(Succ(vuz2500))) -> False new_esEs0(Neg(Zero)) -> True The set Q consists of the following terms: new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primMinusNatS1 new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_esEs0(Neg(Zero)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Zero)) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Zero, x0) new_esEs0(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (505) QReductionProof (EQUIVALENT) We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. new_primMinusNatS0(x0) new_primMinusNatS1 ---------------------------------------- (506) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) new_gcd0Gcd'10(False, Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(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_primModNatS02(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS01(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS02(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS02(vuz130, vuz131, Zero, Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS02(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) new_esEs0(Pos(Succ(vuz2500))) -> False new_esEs0(Pos(Zero)) -> True new_esEs0(Neg(Succ(vuz2500))) -> False new_esEs0(Neg(Zero)) -> True The set Q consists of the following terms: new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_esEs0(Neg(Zero)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Zero)) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Zero, x0) new_esEs0(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (507) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) at position [1,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Zero)))),new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Zero))))) (new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))),new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)))) (new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS01(Succ(Zero), Succ(Zero)))),new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS01(Succ(Zero), Succ(Zero))))) (new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))))) ---------------------------------------- (508) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) new_gcd0Gcd'10(False, Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Zero)))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS01(Succ(Zero), Succ(Zero)))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(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_primModNatS02(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS01(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS02(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS02(vuz130, vuz131, Zero, Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS02(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) new_esEs0(Pos(Succ(vuz2500))) -> False new_esEs0(Pos(Zero)) -> True new_esEs0(Neg(Succ(vuz2500))) -> False new_esEs0(Neg(Zero)) -> True The set Q consists of the following terms: new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_esEs0(Neg(Zero)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Zero)) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Zero, x0) new_esEs0(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (509) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Zero)))) at position [1,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))),new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero)))))) ---------------------------------------- (510) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) new_gcd0Gcd'10(False, Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS01(Succ(Zero), Succ(Zero)))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS02(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS01(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS02(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS02(vuz130, vuz131, Zero, Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS02(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) new_esEs0(Pos(Succ(vuz2500))) -> False new_esEs0(Pos(Zero)) -> True new_esEs0(Neg(Succ(vuz2500))) -> False new_esEs0(Neg(Zero)) -> True The set Q consists of the following terms: new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_esEs0(Neg(Zero)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Zero)) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Zero, x0) new_esEs0(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (511) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS01(Succ(Zero), Succ(Zero)))) at position [1,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero))))),new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero)))))) ---------------------------------------- (512) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) new_gcd0Gcd'10(False, Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS02(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS01(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS02(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS02(vuz130, vuz131, Zero, Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS02(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) new_esEs0(Pos(Succ(vuz2500))) -> False new_esEs0(Pos(Zero)) -> True new_esEs0(Neg(Succ(vuz2500))) -> False new_esEs0(Neg(Zero)) -> True The set Q consists of the following terms: new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_esEs0(Neg(Zero)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Zero)) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Zero, x0) new_esEs0(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (513) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))),new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero)))))) ---------------------------------------- (514) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) new_gcd0Gcd'10(False, Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero))))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS02(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS01(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS02(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS02(vuz130, vuz131, Zero, Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS02(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) new_esEs0(Pos(Succ(vuz2500))) -> False new_esEs0(Pos(Zero)) -> True new_esEs0(Neg(Succ(vuz2500))) -> False new_esEs0(Neg(Zero)) -> True The set Q consists of the following terms: new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_esEs0(Neg(Zero)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Zero)) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Zero, x0) new_esEs0(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (515) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero))))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Succ(Zero))))),new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Succ(Zero)))))) ---------------------------------------- (516) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) new_gcd0Gcd'10(False, Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS02(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS01(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS02(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS02(vuz130, vuz131, Zero, Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS02(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) new_esEs0(Pos(Succ(vuz2500))) -> False new_esEs0(Pos(Zero)) -> True new_esEs0(Neg(Succ(vuz2500))) -> False new_esEs0(Neg(Zero)) -> True The set Q consists of the following terms: new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_esEs0(Neg(Zero)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Zero)) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Zero, x0) new_esEs0(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (517) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))),new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero)))))) ---------------------------------------- (518) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) new_gcd0Gcd'10(False, Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Succ(Zero))))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS02(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS01(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS02(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS02(vuz130, vuz131, Zero, Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS02(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) new_esEs0(Pos(Succ(vuz2500))) -> False new_esEs0(Pos(Zero)) -> True new_esEs0(Neg(Succ(vuz2500))) -> False new_esEs0(Neg(Zero)) -> True The set Q consists of the following terms: new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_esEs0(Neg(Zero)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Zero)) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Zero, x0) new_esEs0(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (519) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Succ(Zero))))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Succ(Zero))))),new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Succ(Zero)))))) ---------------------------------------- (520) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) new_gcd0Gcd'10(False, Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS02(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS01(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS02(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS02(vuz130, vuz131, Zero, Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS02(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) new_esEs0(Pos(Succ(vuz2500))) -> False new_esEs0(Pos(Zero)) -> True new_esEs0(Neg(Succ(vuz2500))) -> False new_esEs0(Neg(Zero)) -> True The set Q consists of the following terms: new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_esEs0(Neg(Zero)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Zero)) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Zero, x0) new_esEs0(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (521) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))),new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))))) ---------------------------------------- (522) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) new_gcd0Gcd'10(False, Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Succ(Zero))))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(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_primModNatS02(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS01(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS02(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS02(vuz130, vuz131, Zero, Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS02(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) new_esEs0(Pos(Succ(vuz2500))) -> False new_esEs0(Pos(Zero)) -> True new_esEs0(Neg(Succ(vuz2500))) -> False new_esEs0(Neg(Zero)) -> True The set Q consists of the following terms: new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_esEs0(Neg(Zero)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Zero)) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Zero, x0) new_esEs0(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (523) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Succ(Zero))))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Zero, Succ(Succ(Zero))))),new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Zero, Succ(Succ(Zero)))))) ---------------------------------------- (524) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) new_gcd0Gcd'10(False, Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(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_primModNatS02(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS01(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS02(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS02(vuz130, vuz131, Zero, Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS02(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) new_esEs0(Pos(Succ(vuz2500))) -> False new_esEs0(Pos(Zero)) -> True new_esEs0(Neg(Succ(vuz2500))) -> False new_esEs0(Neg(Zero)) -> True The set Q consists of the following terms: new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_esEs0(Neg(Zero)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Zero)) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Zero, x0) new_esEs0(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (525) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (526) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'10(False, Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(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_primModNatS02(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS01(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS02(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS02(vuz130, vuz131, Zero, Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS02(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) new_esEs0(Pos(Succ(vuz2500))) -> False new_esEs0(Pos(Zero)) -> True new_esEs0(Neg(Succ(vuz2500))) -> False new_esEs0(Neg(Zero)) -> True The set Q consists of the following terms: new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_esEs0(Neg(Zero)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Zero)) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Zero, x0) new_esEs0(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (527) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_gcd0Gcd'10(False, Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) at position [1,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'10(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(Succ(x2), Zero))),new_gcd0Gcd'10(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(Succ(x2), Zero)))) (new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))),new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)))) (new_gcd0Gcd'10(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(Zero, Zero))),new_gcd0Gcd'10(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(Zero, Zero)))) (new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))),new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))))) ---------------------------------------- (528) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_gcd0Gcd'10(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(Succ(x2), Zero))) new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'10(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(Zero, Zero))) new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(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_primModNatS02(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS01(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS02(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS02(vuz130, vuz131, Zero, Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS02(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) new_esEs0(Pos(Succ(vuz2500))) -> False new_esEs0(Pos(Zero)) -> True new_esEs0(Neg(Succ(vuz2500))) -> False new_esEs0(Neg(Zero)) -> True The set Q consists of the following terms: new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_esEs0(Neg(Zero)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Zero)) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Zero, x0) new_esEs0(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (529) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'10(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(Succ(x2), Zero))) at position [1,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'10(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))),new_gcd0Gcd'10(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero))))) ---------------------------------------- (530) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'10(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(Zero, Zero))) new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'10(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS02(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS01(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS02(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS02(vuz130, vuz131, Zero, Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS02(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) new_esEs0(Pos(Succ(vuz2500))) -> False new_esEs0(Pos(Zero)) -> True new_esEs0(Neg(Succ(vuz2500))) -> False new_esEs0(Neg(Zero)) -> True The set Q consists of the following terms: new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_esEs0(Neg(Zero)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Zero)) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Zero, x0) new_esEs0(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (531) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'10(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(Zero, Zero))) at position [1,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'10(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero)))),new_gcd0Gcd'10(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero))))) ---------------------------------------- (532) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'10(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))) new_gcd0Gcd'10(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS02(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS01(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS02(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS02(vuz130, vuz131, Zero, Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS02(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) new_esEs0(Pos(Succ(vuz2500))) -> False new_esEs0(Pos(Zero)) -> True new_esEs0(Neg(Succ(vuz2500))) -> False new_esEs0(Neg(Zero)) -> True The set Q consists of the following terms: new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_esEs0(Neg(Zero)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Zero)) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Zero, x0) new_esEs0(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (533) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'10(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'10(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))),new_gcd0Gcd'10(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero))))) ---------------------------------------- (534) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'10(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero)))) new_gcd0Gcd'10(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS02(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS01(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS02(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS02(vuz130, vuz131, Zero, Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS02(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) new_esEs0(Pos(Succ(vuz2500))) -> False new_esEs0(Pos(Zero)) -> True new_esEs0(Neg(Succ(vuz2500))) -> False new_esEs0(Neg(Zero)) -> True The set Q consists of the following terms: new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_esEs0(Neg(Zero)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Zero)) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Zero, x0) new_esEs0(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (535) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'10(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero)))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'10(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero)))),new_gcd0Gcd'10(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero))))) ---------------------------------------- (536) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'10(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))) new_gcd0Gcd'10(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS02(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS01(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS02(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS02(vuz130, vuz131, Zero, Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS02(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) new_esEs0(Pos(Succ(vuz2500))) -> False new_esEs0(Pos(Zero)) -> True new_esEs0(Neg(Succ(vuz2500))) -> False new_esEs0(Neg(Zero)) -> True The set Q consists of the following terms: new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_esEs0(Neg(Zero)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Zero)) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Zero, x0) new_esEs0(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (537) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'10(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'10(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))),new_gcd0Gcd'10(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero))))) ---------------------------------------- (538) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'10(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero)))) new_gcd0Gcd'10(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(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_primModNatS02(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS01(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS02(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS02(vuz130, vuz131, Zero, Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS02(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) new_esEs0(Pos(Succ(vuz2500))) -> False new_esEs0(Pos(Zero)) -> True new_esEs0(Neg(Succ(vuz2500))) -> False new_esEs0(Neg(Zero)) -> True The set Q consists of the following terms: new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_esEs0(Neg(Zero)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Zero)) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Zero, x0) new_esEs0(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (539) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'10(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero)))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'10(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Zero, Succ(Zero)))),new_gcd0Gcd'10(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Zero, Succ(Zero))))) ---------------------------------------- (540) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'10(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_gcd0Gcd'10(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(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_primModNatS02(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS01(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS02(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS02(vuz130, vuz131, Zero, Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS02(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) new_esEs0(Pos(Succ(vuz2500))) -> False new_esEs0(Pos(Zero)) -> True new_esEs0(Neg(Succ(vuz2500))) -> False new_esEs0(Neg(Zero)) -> True The set Q consists of the following terms: new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_esEs0(Neg(Zero)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Zero)) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Zero, x0) new_esEs0(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (541) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (542) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'10(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(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_primModNatS02(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS01(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS02(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS02(vuz130, vuz131, Zero, Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS02(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) new_esEs0(Pos(Succ(vuz2500))) -> False new_esEs0(Pos(Zero)) -> True new_esEs0(Neg(Succ(vuz2500))) -> False new_esEs0(Neg(Zero)) -> True The set Q consists of the following terms: new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_esEs0(Neg(Zero)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Zero)) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Zero, x0) new_esEs0(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (543) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) at position [0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS01(Succ(x2), Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))),new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS01(Succ(x2), Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))))) (new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))),new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))))) (new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS01(Zero, Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))),new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS01(Zero, Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))))) (new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'10(new_esEs0(Neg(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))),new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'10(new_esEs0(Neg(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))))) ---------------------------------------- (544) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'10(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS01(Succ(x2), Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS01(Zero, Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'10(new_esEs0(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_primModNatS02(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS01(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS02(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS02(vuz130, vuz131, Zero, Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS02(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) new_esEs0(Pos(Succ(vuz2500))) -> False new_esEs0(Pos(Zero)) -> True new_esEs0(Neg(Succ(vuz2500))) -> False new_esEs0(Neg(Zero)) -> True The set Q consists of the following terms: new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_esEs0(Neg(Zero)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Zero)) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Zero, x0) new_esEs0(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (545) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (546) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS01(Succ(x2), Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'10(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'10(new_esEs0(Neg(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(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_primModNatS02(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS01(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS02(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS02(vuz130, vuz131, Zero, Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS02(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) new_esEs0(Pos(Succ(vuz2500))) -> False new_esEs0(Pos(Zero)) -> True new_esEs0(Neg(Succ(vuz2500))) -> False new_esEs0(Neg(Zero)) -> True The set Q consists of the following terms: new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_esEs0(Neg(Zero)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Zero)) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Zero, x0) new_esEs0(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (547) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS01(Succ(x2), Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) at position [0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))),new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), 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'10(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'10(new_esEs0(Neg(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS02(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS01(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS02(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS02(vuz130, vuz131, Zero, Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS02(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) new_esEs0(Pos(Succ(vuz2500))) -> False new_esEs0(Pos(Zero)) -> True new_esEs0(Neg(Succ(vuz2500))) -> False new_esEs0(Neg(Zero)) -> True The set Q consists of the following terms: new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_esEs0(Neg(Zero)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Zero)) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Zero, x0) new_esEs0(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (549) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'10(new_esEs0(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'00(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))),new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))))) ---------------------------------------- (550) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'10(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'10(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_primModNatS02(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS01(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS02(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS02(vuz130, vuz131, Zero, Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS02(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) new_esEs0(Pos(Succ(vuz2500))) -> False new_esEs0(Pos(Zero)) -> True new_esEs0(Neg(Succ(vuz2500))) -> False new_esEs0(Neg(Zero)) -> True The set Q consists of the following terms: new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_esEs0(Neg(Zero)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Zero)) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Zero, x0) new_esEs0(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (551) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))),new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))))) ---------------------------------------- (552) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'10(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS02(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS01(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS02(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS02(vuz130, vuz131, Zero, Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS02(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) new_esEs0(Pos(Succ(vuz2500))) -> False new_esEs0(Pos(Zero)) -> True new_esEs0(Neg(Succ(vuz2500))) -> False new_esEs0(Neg(Zero)) -> True The set Q consists of the following terms: new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_esEs0(Neg(Zero)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Zero)) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Zero, x0) new_esEs0(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (553) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))),new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))))) ---------------------------------------- (554) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'10(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(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_primModNatS02(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS01(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS02(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS02(vuz130, vuz131, Zero, Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS02(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) new_esEs0(Pos(Succ(vuz2500))) -> False new_esEs0(Pos(Zero)) -> True new_esEs0(Neg(Succ(vuz2500))) -> False new_esEs0(Neg(Zero)) -> True The set Q consists of the following terms: new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_esEs0(Neg(Zero)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Zero)) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Zero, x0) new_esEs0(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (555) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_gcd0Gcd'10(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) at position [1,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'10(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(Succ(Zero))),new_gcd0Gcd'10(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(Succ(Zero)))) (new_gcd0Gcd'10(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))),new_gcd0Gcd'10(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero)))) ---------------------------------------- (556) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'10(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) new_gcd0Gcd'10(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(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_primModNatS02(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS01(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS02(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS02(vuz130, vuz131, Zero, Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS02(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) new_esEs0(Pos(Succ(vuz2500))) -> False new_esEs0(Pos(Zero)) -> True new_esEs0(Neg(Succ(vuz2500))) -> False new_esEs0(Neg(Zero)) -> True The set Q consists of the following terms: new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_esEs0(Neg(Zero)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Zero)) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Zero, x0) new_esEs0(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (557) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (558) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'10(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(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_primModNatS02(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS01(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS02(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS02(vuz130, vuz131, Zero, Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS02(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) new_esEs0(Pos(Succ(vuz2500))) -> False new_esEs0(Pos(Zero)) -> True new_esEs0(Neg(Succ(vuz2500))) -> False new_esEs0(Neg(Zero)) -> True The set Q consists of the following terms: new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_esEs0(Neg(Zero)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Zero)) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Zero, x0) new_esEs0(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (559) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(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'00(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Neg(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Neg(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero)))))) (new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))),new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0))))))) ---------------------------------------- (560) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'10(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Neg(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS02(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS01(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS02(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS02(vuz130, vuz131, Zero, Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS02(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) new_esEs0(Pos(Succ(vuz2500))) -> False new_esEs0(Pos(Zero)) -> True new_esEs0(Neg(Succ(vuz2500))) -> False new_esEs0(Neg(Zero)) -> True The set Q consists of the following terms: new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_esEs0(Neg(Zero)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Zero)) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Zero, x0) new_esEs0(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (561) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (562) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'10(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(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_primModNatS02(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS01(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS02(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS02(vuz130, vuz131, Zero, Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS02(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) new_esEs0(Pos(Succ(vuz2500))) -> False new_esEs0(Pos(Zero)) -> True new_esEs0(Neg(Succ(vuz2500))) -> False new_esEs0(Neg(Zero)) -> True The set Q consists of the following terms: new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_esEs0(Neg(Zero)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Zero)) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Zero, x0) new_esEs0(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (563) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) at position [0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS01(Succ(x2), Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))),new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS01(Succ(x2), Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))))) (new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))),new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))))) (new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS01(Zero, Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))),new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS01(Zero, Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))))) (new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'10(new_esEs0(Pos(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))),new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'10(new_esEs0(Pos(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))))) ---------------------------------------- (564) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'10(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS01(Succ(x2), Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS01(Zero, Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'10(new_esEs0(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_primModNatS02(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS01(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS02(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS02(vuz130, vuz131, Zero, Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS02(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) new_esEs0(Pos(Succ(vuz2500))) -> False new_esEs0(Pos(Zero)) -> True new_esEs0(Neg(Succ(vuz2500))) -> False new_esEs0(Neg(Zero)) -> True The set Q consists of the following terms: new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_esEs0(Neg(Zero)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Zero)) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Zero, x0) new_esEs0(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (565) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 3 SCCs with 1 less node. ---------------------------------------- (566) Complex Obligation (AND) ---------------------------------------- (567) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS01(Succ(x2), Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(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_primModNatS02(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS01(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS02(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS02(vuz130, vuz131, Zero, Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS02(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) new_esEs0(Pos(Succ(vuz2500))) -> False new_esEs0(Pos(Zero)) -> True new_esEs0(Neg(Succ(vuz2500))) -> False new_esEs0(Neg(Zero)) -> True The set Q consists of the following terms: new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_esEs0(Neg(Zero)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Zero)) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Zero, x0) new_esEs0(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (568) 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. ---------------------------------------- (569) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS01(Succ(x2), Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(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_primModNatS02(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS01(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS02(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS02(vuz130, vuz131, Zero, Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS02(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) new_esEs0(Pos(Succ(vuz2500))) -> False new_esEs0(Pos(Zero)) -> True The set Q consists of the following terms: new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_esEs0(Neg(Zero)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Zero)) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Zero, x0) new_esEs0(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (570) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS01(Succ(x2), Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) at position [0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))),new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))))) ---------------------------------------- (571) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS02(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS01(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS02(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS02(vuz130, vuz131, Zero, Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS02(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) new_esEs0(Pos(Succ(vuz2500))) -> False new_esEs0(Pos(Zero)) -> True The set Q consists of the following terms: new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_esEs0(Neg(Zero)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Zero)) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Zero, x0) new_esEs0(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (572) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))),new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))))) ---------------------------------------- (573) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS02(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS01(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS02(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS02(vuz130, vuz131, Zero, Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS02(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) new_esEs0(Pos(Succ(vuz2500))) -> False new_esEs0(Pos(Zero)) -> True The set Q consists of the following terms: new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_esEs0(Neg(Zero)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Zero)) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Zero, x0) new_esEs0(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (574) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))),new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))))) ---------------------------------------- (575) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(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_primModNatS02(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS01(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS02(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS02(vuz130, vuz131, Zero, Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS02(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) new_esEs0(Pos(Succ(vuz2500))) -> False new_esEs0(Pos(Zero)) -> True The set Q consists of the following terms: new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_esEs0(Neg(Zero)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Zero)) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Zero, x0) new_esEs0(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (576) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) at position [1,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(Succ(Zero))),new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(Succ(Zero)))) (new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))),new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero)))) ---------------------------------------- (577) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(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_primModNatS02(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS01(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS02(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS02(vuz130, vuz131, Zero, Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS02(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) new_esEs0(Pos(Succ(vuz2500))) -> False new_esEs0(Pos(Zero)) -> True The set Q consists of the following terms: new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_esEs0(Neg(Zero)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Zero)) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Zero, x0) new_esEs0(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (578) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (579) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'10(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_primModNatS02(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS01(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS02(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS02(vuz130, vuz131, Zero, Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS02(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) new_esEs0(Pos(Succ(vuz2500))) -> False new_esEs0(Pos(Zero)) -> True The set Q consists of the following terms: new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_esEs0(Neg(Zero)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Zero)) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Zero, x0) new_esEs0(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (580) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(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'00(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Pos(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Pos(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))))) (new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))),new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))))) ---------------------------------------- (581) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Pos(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS02(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS01(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS02(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS02(vuz130, vuz131, Zero, Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS02(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) new_esEs0(Pos(Succ(vuz2500))) -> False new_esEs0(Pos(Zero)) -> True The set Q consists of the following terms: new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_esEs0(Neg(Zero)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Zero)) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Zero, x0) new_esEs0(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (582) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (583) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(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_primModNatS02(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS01(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS02(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS02(vuz130, vuz131, Zero, Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS02(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) new_esEs0(Pos(Succ(vuz2500))) -> False new_esEs0(Pos(Zero)) -> True The set Q consists of the following terms: new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_esEs0(Neg(Zero)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Zero)) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Zero, x0) new_esEs0(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (584) InductionCalculusProof (EQUIVALENT) Note that final constraints are written in bold face. For Pair new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) the following chains were created: *We consider the chain new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x1))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(x1, Zero, x1, Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x1)))))), new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x2, Zero, x2, Zero))) which results in the following constraint: (1) (new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(x1, Zero, x1, Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x1))))))=new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x2)))))) ==> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x1))))), Neg(Succ(Succ(Zero))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(x1, Zero, x1, Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x1))))))) We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: (2) (Pos(new_primModNatS02(x1, Zero, x1, Zero))=x20 & new_esEs0(x20)=False ==> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x1))))), Neg(Succ(Succ(Zero))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(x1, Zero, x1, Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x1))))))) We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_esEs0(x20)=False which results in the following new constraint: (3) (False=False & Pos(new_primModNatS02(x1, Zero, x1, Zero))=Pos(Succ(x21)) ==> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x1))))), Neg(Succ(Succ(Zero))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(x1, Zero, x1, Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x1))))))) We simplified constraint (3) using rules (I), (II), (VII) which results in the following new constraint: (4) (Zero=x22 & x1=x23 & Zero=x24 & new_primModNatS02(x1, x22, x23, x24)=Succ(x21) ==> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x1))))), Neg(Succ(Succ(Zero))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(x1, Zero, x1, Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x1))))))) We simplified constraint (4) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x1, x22, x23, x24)=Succ(x21) which results in the following new constraints: (5) (new_primModNatS01(x27, x26)=Succ(x21) & Zero=x26 & x27=Succ(x25) & Zero=Zero ==> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x27))))), Neg(Succ(Succ(Zero))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(x27, Zero, x27, Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x27))))))) (6) (new_primModNatS02(x31, x30, x29, x28)=Succ(x21) & Zero=x30 & x31=Succ(x29) & Zero=Succ(x28) & (\/x32:new_primModNatS02(x31, x30, x29, x28)=Succ(x32) & Zero=x30 & x31=x29 & Zero=x28 ==> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x31))))), Neg(Succ(Succ(Zero))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(x31, Zero, x31, Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x31))))))) ==> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x31))))), Neg(Succ(Succ(Zero))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(x31, Zero, x31, Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x31))))))) (7) (new_primModNatS01(x34, x33)=Succ(x21) & Zero=x33 & x34=Zero & Zero=Zero ==> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x34))))), Neg(Succ(Succ(Zero))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(x34, Zero, x34, Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x34))))))) (8) (Succ(Succ(x37))=Succ(x21) & Zero=x36 & x37=Zero & Zero=Succ(x35) ==> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x37))))), Neg(Succ(Succ(Zero))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(x37, Zero, x37, Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x37))))))) We simplified constraint (5) using rules (I), (II), (III), (VII) which results in the following new constraint: (9) (Succ(x25)=x38 & new_primModNatS01(x38, x26)=Succ(x21) & Zero=x26 ==> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(x25)))))), Neg(Succ(Succ(Zero))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(Succ(x25), Zero, Succ(x25), Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Succ(x25)))))))) We solved constraint (6) using rules (I), (II).We simplified constraint (7) using rules (I), (II), (III), (VII) which results in the following new constraint: (10) (Zero=x45 & new_primModNatS01(x45, x33)=Succ(x21) & Zero=x33 ==> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Zero))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(Zero, Zero, Zero, Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Zero))))))) We solved constraint (8) using rules (I), (II).We simplified constraint (9) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x38, x26)=Succ(x21) which results in the following new constraint: (11) (new_primModNatS1(new_primMinusNatS2(Succ(x40), Succ(x39)), Succ(x39))=Succ(x21) & Succ(x25)=x40 & Zero=x39 ==> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(x25)))))), Neg(Succ(Succ(Zero))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(Succ(x25), Zero, Succ(x25), Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Succ(x25)))))))) We simplified constraint (11) using rules (III), (IV), (VII) which results in the following new constraint: (12) (new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(x25)))))), Neg(Succ(Succ(Zero))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(Succ(x25), Zero, Succ(x25), Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Succ(x25)))))))) We simplified constraint (10) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x45, x33)=Succ(x21) which results in the following new constraint: (13) (new_primModNatS1(new_primMinusNatS2(Succ(x47), Succ(x46)), Succ(x46))=Succ(x21) & Zero=x47 & Zero=x46 ==> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Zero))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(Zero, Zero, Zero, Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Zero))))))) We simplified constraint (13) using rules (III), (IV), (VII) which results in the following new constraint: (14) (new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Zero))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(Zero, Zero, Zero, Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Zero))))))) For Pair new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) the following chains were created: *We consider the chain new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x7)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x7, Zero, x7, Zero))), new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x8))))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x8)))), Neg(Succ(Succ(Zero)))) which results in the following constraint: (1) (new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x7, Zero, x7, Zero)))=new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x8))))) ==> new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x7))))))_>=_new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x7, Zero, x7, Zero)))) We simplified constraint (1) using rules (I), (II), (VII) which results in the following new constraint: (2) (Zero=x52 & x7=x53 & Zero=x54 & new_primModNatS02(x7, x52, x53, x54)=Succ(Succ(Succ(x8))) ==> new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x7))))))_>=_new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x7, Zero, x7, Zero)))) We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x7, x52, x53, x54)=Succ(Succ(Succ(x8))) which results in the following new constraints: (3) (new_primModNatS01(x57, x56)=Succ(Succ(Succ(x8))) & Zero=x56 & x57=Succ(x55) & Zero=Zero ==> new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x57))))))_>=_new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x57, Zero, x57, Zero)))) (4) (new_primModNatS02(x61, x60, x59, x58)=Succ(Succ(Succ(x8))) & Zero=x60 & x61=Succ(x59) & Zero=Succ(x58) & (\/x62:new_primModNatS02(x61, x60, x59, x58)=Succ(Succ(Succ(x62))) & Zero=x60 & x61=x59 & Zero=x58 ==> new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x61))))))_>=_new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x61, Zero, x61, Zero)))) ==> new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x61))))))_>=_new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x61, Zero, x61, Zero)))) (5) (new_primModNatS01(x64, x63)=Succ(Succ(Succ(x8))) & Zero=x63 & x64=Zero & Zero=Zero ==> new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x64))))))_>=_new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x64, Zero, x64, Zero)))) (6) (Succ(Succ(x67))=Succ(Succ(Succ(x8))) & Zero=x66 & x67=Zero & Zero=Succ(x65) ==> new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x67))))))_>=_new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x67, Zero, x67, Zero)))) We simplified constraint (3) using rules (I), (II), (III), (VII) which results in the following new constraint: (7) (Succ(x55)=x68 & new_primModNatS01(x68, x56)=Succ(Succ(Succ(x8))) & Zero=x56 ==> new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Succ(x55)))))))_>=_new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(Succ(x55), Zero, Succ(x55), Zero)))) We solved constraint (4) using rules (I), (II).We simplified constraint (5) using rules (I), (II), (III), (VII) which results in the following new constraint: (8) (Zero=x75 & new_primModNatS01(x75, x63)=Succ(Succ(Succ(x8))) & Zero=x63 ==> new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(Zero, Zero, Zero, Zero)))) We solved constraint (6) using rules (I), (II).We simplified constraint (7) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x68, x56)=Succ(Succ(Succ(x8))) which results in the following new constraint: (9) (new_primModNatS1(new_primMinusNatS2(Succ(x70), Succ(x69)), Succ(x69))=Succ(Succ(Succ(x8))) & Succ(x55)=x70 & Zero=x69 ==> new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Succ(x55)))))))_>=_new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(Succ(x55), Zero, Succ(x55), Zero)))) We simplified constraint (9) using rules (III), (IV), (VII) which results in the following new constraint: (10) (new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Succ(x55)))))))_>=_new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(Succ(x55), Zero, Succ(x55), Zero)))) We simplified constraint (8) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x75, x63)=Succ(Succ(Succ(x8))) which results in the following new constraint: (11) (new_primModNatS1(new_primMinusNatS2(Succ(x77), Succ(x76)), Succ(x76))=Succ(Succ(Succ(x8))) & Zero=x77 & Zero=x76 ==> new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(Zero, Zero, Zero, Zero)))) We simplified constraint (11) using rules (III), (IV), (VII) which results in the following new constraint: (12) (new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(Zero, Zero, Zero, Zero)))) For Pair new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) the following chains were created: *We consider the chain new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x13))))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x13)))), Neg(Succ(Succ(Zero)))), new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x14)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x14)))), Neg(Succ(Succ(Zero)))) which results in the following constraint: (1) (new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x13)))), Neg(Succ(Succ(Zero))))=new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x14)))), Neg(Succ(Succ(Zero)))) ==> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x13)))))_>=_new_gcd0Gcd'10(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'00(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x13)))))_>=_new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x13)))), Neg(Succ(Succ(Zero))))) For Pair new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) the following chains were created: *We consider the chain new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x15)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x15)))), Neg(Succ(Succ(Zero)))), new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x16))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(x16, Zero, x16, Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x16)))))) which results in the following constraint: (1) (new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x15)))), Neg(Succ(Succ(Zero))))=new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x16))))), Neg(Succ(Succ(Zero)))) ==> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x15)))), Neg(Succ(Succ(Zero))))_>=_new_gcd0Gcd'00(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'10(False, Pos(Succ(Succ(Succ(Succ(x16))))), Neg(Succ(Succ(Zero))))_>=_new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x16))))), Neg(Succ(Succ(Zero))))) To summarize, we get the following constraints P__>=_ for the following pairs. *new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) *(new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(x25)))))), Neg(Succ(Succ(Zero))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(Succ(x25), Zero, Succ(x25), Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Succ(x25)))))))) *(new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Zero))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(Zero, Zero, Zero, Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Zero))))))) *new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) *(new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Succ(x55)))))))_>=_new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(Succ(x55), Zero, Succ(x55), Zero)))) *(new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(Zero, Zero, Zero, Zero)))) *new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) *(new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x13)))))_>=_new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x13)))), Neg(Succ(Succ(Zero))))) *new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) *(new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(x16))))), Neg(Succ(Succ(Zero))))_>=_new_gcd0Gcd'00(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. ---------------------------------------- (585) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(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_primModNatS02(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS01(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS02(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS02(vuz130, vuz131, Zero, Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS02(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) new_esEs0(Pos(Succ(vuz2500))) -> False new_esEs0(Pos(Zero)) -> True The set Q consists of the following terms: new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_esEs0(Neg(Zero)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Zero)) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Zero, x0) new_esEs0(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (586) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'10(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'10(new_esEs0(Pos(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS02(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS01(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS02(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS02(vuz130, vuz131, Zero, Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS02(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) new_esEs0(Pos(Succ(vuz2500))) -> False new_esEs0(Pos(Zero)) -> True new_esEs0(Neg(Succ(vuz2500))) -> False new_esEs0(Neg(Zero)) -> True The set Q consists of the following terms: new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_esEs0(Neg(Zero)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Zero)) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Zero, x0) new_esEs0(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (587) 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. ---------------------------------------- (588) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'10(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'10(new_esEs0(Pos(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS02(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS01(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS02(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS02(vuz130, vuz131, Zero, Zero) -> new_primModNatS01(vuz130, vuz131) new_esEs0(Neg(Succ(vuz2500))) -> False new_esEs0(Neg(Zero)) -> True new_primModNatS02(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) new_esEs0(Pos(Succ(vuz2500))) -> False The set Q consists of the following terms: new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_esEs0(Neg(Zero)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Zero)) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Zero, x0) new_esEs0(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (589) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'10(new_esEs0(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'00(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))),new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))))) ---------------------------------------- (590) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'10(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'10(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_primModNatS02(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS01(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS02(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS02(vuz130, vuz131, Zero, Zero) -> new_primModNatS01(vuz130, vuz131) new_esEs0(Neg(Succ(vuz2500))) -> False new_esEs0(Neg(Zero)) -> True new_primModNatS02(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) new_esEs0(Pos(Succ(vuz2500))) -> False The set Q consists of the following terms: new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_esEs0(Neg(Zero)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Zero)) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Zero, x0) new_esEs0(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (591) 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. ---------------------------------------- (592) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'10(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'10(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_primModNatS02(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS01(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS02(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS02(vuz130, vuz131, Zero, Zero) -> new_primModNatS01(vuz130, vuz131) new_esEs0(Neg(Succ(vuz2500))) -> False new_esEs0(Neg(Zero)) -> True new_primModNatS02(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) The set Q consists of the following terms: new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_esEs0(Neg(Zero)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Zero)) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Zero, x0) new_esEs0(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (593) InductionCalculusProof (EQUIVALENT) Note that final constraints are written in bold face. For Pair new_gcd0Gcd'10(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) the following chains were created: *We consider the chain new_gcd0Gcd'10(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(x3, Zero, x3, Zero))), new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x4))))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x4)))), Pos(Succ(Succ(Zero)))) which results in the following constraint: (1) (new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(x3, Zero, x3, Zero)))=new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x4))))) ==> new_gcd0Gcd'10(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x3))))))_>=_new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(x3, Zero, x3, Zero)))) We simplified constraint (1) using rules (I), (II), (VII) which results in the following new constraint: (2) (Zero=x20 & x3=x21 & Zero=x22 & new_primModNatS02(x3, x20, x21, x22)=Succ(Succ(Succ(x4))) ==> new_gcd0Gcd'10(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x3))))))_>=_new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(x3, Zero, x3, Zero)))) We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x3, x20, x21, x22)=Succ(Succ(Succ(x4))) which results in the following new constraints: (3) (new_primModNatS01(x25, x24)=Succ(Succ(Succ(x4))) & Zero=x24 & x25=Succ(x23) & Zero=Zero ==> new_gcd0Gcd'10(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x25))))))_>=_new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(x25, Zero, x25, Zero)))) (4) (new_primModNatS02(x29, x28, x27, x26)=Succ(Succ(Succ(x4))) & Zero=x28 & x29=Succ(x27) & Zero=Succ(x26) & (\/x30:new_primModNatS02(x29, x28, x27, x26)=Succ(Succ(Succ(x30))) & Zero=x28 & x29=x27 & Zero=x26 ==> new_gcd0Gcd'10(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x29))))))_>=_new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(x29, Zero, x29, Zero)))) ==> new_gcd0Gcd'10(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x29))))))_>=_new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(x29, Zero, x29, Zero)))) (5) (new_primModNatS01(x32, x31)=Succ(Succ(Succ(x4))) & Zero=x31 & x32=Zero & Zero=Zero ==> new_gcd0Gcd'10(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x32))))))_>=_new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(x32, Zero, x32, Zero)))) (6) (Succ(Succ(x35))=Succ(Succ(Succ(x4))) & Zero=x34 & x35=Zero & Zero=Succ(x33) ==> new_gcd0Gcd'10(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x35))))))_>=_new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(x35, Zero, x35, Zero)))) We simplified constraint (3) using rules (I), (II), (III), (VII) which results in the following new constraint: (7) (Succ(x23)=x36 & new_primModNatS01(x36, x24)=Succ(Succ(Succ(x4))) & Zero=x24 ==> new_gcd0Gcd'10(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Succ(x23)))))))_>=_new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(Succ(x23), Zero, Succ(x23), Zero)))) We solved constraint (4) using rules (I), (II).We simplified constraint (5) using rules (I), (II), (III), (VII) which results in the following new constraint: (8) (Zero=x43 & new_primModNatS01(x43, x31)=Succ(Succ(Succ(x4))) & Zero=x31 ==> new_gcd0Gcd'10(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(Zero, Zero, Zero, Zero)))) We solved constraint (6) using rules (I), (II).We simplified constraint (7) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x36, x24)=Succ(Succ(Succ(x4))) which results in the following new constraint: (9) (new_primModNatS1(new_primMinusNatS2(Succ(x38), Succ(x37)), Succ(x37))=Succ(Succ(Succ(x4))) & Succ(x23)=x38 & Zero=x37 ==> new_gcd0Gcd'10(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Succ(x23)))))))_>=_new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(Succ(x23), Zero, Succ(x23), Zero)))) We simplified constraint (9) using rules (III), (IV), (VII) which results in the following new constraint: (10) (new_gcd0Gcd'10(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Succ(x23)))))))_>=_new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(Succ(x23), Zero, Succ(x23), Zero)))) We simplified constraint (8) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x43, x31)=Succ(Succ(Succ(x4))) which results in the following new constraint: (11) (new_primModNatS1(new_primMinusNatS2(Succ(x45), Succ(x44)), Succ(x44))=Succ(Succ(Succ(x4))) & Zero=x45 & Zero=x44 ==> new_gcd0Gcd'10(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(Zero, Zero, Zero, Zero)))) We simplified constraint (11) using rules (III), (IV), (VII) which results in the following new constraint: (12) (new_gcd0Gcd'10(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(Zero, Zero, Zero, Zero)))) For Pair new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) the following chains were created: *We consider the chain new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x7)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x7)))), Pos(Succ(Succ(Zero)))), new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x8))))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(x8, Zero, x8, Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x8)))))) which results in the following constraint: (1) (new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x7)))), Pos(Succ(Succ(Zero))))=new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x8))))), Pos(Succ(Succ(Zero)))) ==> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x7)))), Pos(Succ(Succ(Zero))))_>=_new_gcd0Gcd'00(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'10(False, Neg(Succ(Succ(Succ(Succ(x8))))), Pos(Succ(Succ(Zero))))_>=_new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x8))))), Pos(Succ(Succ(Zero))))) For Pair new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) the following chains were created: *We consider the chain new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x10))))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(x10, Zero, x10, Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x10)))))), new_gcd0Gcd'10(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x11)))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(x11, Zero, x11, Zero))) which results in the following constraint: (1) (new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(x10, Zero, x10, Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x10))))))=new_gcd0Gcd'10(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x11)))))) ==> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x10))))), Pos(Succ(Succ(Zero))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(x10, Zero, x10, Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x10))))))) We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: (2) (Neg(new_primModNatS02(x10, Zero, x10, Zero))=x50 & new_esEs0(x50)=False ==> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x10))))), Pos(Succ(Succ(Zero))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(x10, Zero, x10, Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x10))))))) We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_esEs0(x50)=False which results in the following new constraint: (3) (False=False & Neg(new_primModNatS02(x10, Zero, x10, Zero))=Neg(Succ(x51)) ==> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x10))))), Pos(Succ(Succ(Zero))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(x10, Zero, x10, Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x10))))))) We simplified constraint (3) using rules (I), (II), (VII) which results in the following new constraint: (4) (Zero=x52 & x10=x53 & Zero=x54 & new_primModNatS02(x10, x52, x53, x54)=Succ(x51) ==> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x10))))), Pos(Succ(Succ(Zero))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(x10, Zero, x10, Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x10))))))) We simplified constraint (4) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x10, x52, x53, x54)=Succ(x51) which results in the following new constraints: (5) (new_primModNatS01(x57, x56)=Succ(x51) & Zero=x56 & x57=Succ(x55) & Zero=Zero ==> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x57))))), Pos(Succ(Succ(Zero))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(x57, Zero, x57, Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x57))))))) (6) (new_primModNatS02(x61, x60, x59, x58)=Succ(x51) & Zero=x60 & x61=Succ(x59) & Zero=Succ(x58) & (\/x62:new_primModNatS02(x61, x60, x59, x58)=Succ(x62) & Zero=x60 & x61=x59 & Zero=x58 ==> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x61))))), Pos(Succ(Succ(Zero))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(x61, Zero, x61, Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x61))))))) ==> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x61))))), Pos(Succ(Succ(Zero))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(x61, Zero, x61, Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x61))))))) (7) (new_primModNatS01(x64, x63)=Succ(x51) & Zero=x63 & x64=Zero & Zero=Zero ==> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x64))))), Pos(Succ(Succ(Zero))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(x64, Zero, x64, Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x64))))))) (8) (Succ(Succ(x67))=Succ(x51) & Zero=x66 & x67=Zero & Zero=Succ(x65) ==> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x67))))), Pos(Succ(Succ(Zero))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(x67, Zero, x67, Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x67))))))) We simplified constraint (5) using rules (I), (II), (III), (VII) which results in the following new constraint: (9) (Succ(x55)=x68 & new_primModNatS01(x68, x56)=Succ(x51) & Zero=x56 ==> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Succ(x55)))))), Pos(Succ(Succ(Zero))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(Succ(x55), Zero, Succ(x55), Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Succ(x55)))))))) We solved constraint (6) using rules (I), (II).We simplified constraint (7) using rules (I), (II), (III), (VII) which results in the following new constraint: (10) (Zero=x75 & new_primModNatS01(x75, x63)=Succ(x51) & Zero=x63 ==> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Zero))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(Zero, Zero, Zero, Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Zero))))))) We solved constraint (8) using rules (I), (II).We simplified constraint (9) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x68, x56)=Succ(x51) which results in the following new constraint: (11) (new_primModNatS1(new_primMinusNatS2(Succ(x70), Succ(x69)), Succ(x69))=Succ(x51) & Succ(x55)=x70 & Zero=x69 ==> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Succ(x55)))))), Pos(Succ(Succ(Zero))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(Succ(x55), Zero, Succ(x55), Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Succ(x55)))))))) We simplified constraint (11) using rules (III), (IV), (VII) which results in the following new constraint: (12) (new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Succ(x55)))))), Pos(Succ(Succ(Zero))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(Succ(x55), Zero, Succ(x55), Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Succ(x55)))))))) We simplified constraint (10) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x75, x63)=Succ(x51) which results in the following new constraint: (13) (new_primModNatS1(new_primMinusNatS2(Succ(x77), Succ(x76)), Succ(x76))=Succ(x51) & Zero=x77 & Zero=x76 ==> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Zero))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(Zero, Zero, Zero, Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Zero))))))) We simplified constraint (13) using rules (III), (IV), (VII) which results in the following new constraint: (14) (new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Zero))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(Zero, Zero, Zero, Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Zero))))))) For Pair new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) the following chains were created: *We consider the chain new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x16))))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x16)))), Pos(Succ(Succ(Zero)))), new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x17)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x17)))), Pos(Succ(Succ(Zero)))) which results in the following constraint: (1) (new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x16)))), Pos(Succ(Succ(Zero))))=new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x17)))), Pos(Succ(Succ(Zero)))) ==> new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x16)))))_>=_new_gcd0Gcd'10(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'00(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x16)))))_>=_new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x16)))), Pos(Succ(Succ(Zero))))) To summarize, we get the following constraints P__>=_ for the following pairs. *new_gcd0Gcd'10(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) *(new_gcd0Gcd'10(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Succ(x23)))))))_>=_new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(Succ(x23), Zero, Succ(x23), Zero)))) *(new_gcd0Gcd'10(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(Zero, Zero, Zero, Zero)))) *new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) *(new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x8))))), Pos(Succ(Succ(Zero))))_>=_new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x8))))), Pos(Succ(Succ(Zero))))) *new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) *(new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Succ(x55)))))), Pos(Succ(Succ(Zero))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(Succ(x55), Zero, Succ(x55), Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Succ(x55)))))))) *(new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Zero))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(Zero, Zero, Zero, Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Zero))))))) *new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) *(new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x16)))))_>=_new_gcd0Gcd'10(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. ---------------------------------------- (594) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'10(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'10(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_primModNatS02(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS01(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS02(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS02(vuz130, vuz131, Zero, Zero) -> new_primModNatS01(vuz130, vuz131) new_esEs0(Neg(Succ(vuz2500))) -> False new_esEs0(Neg(Zero)) -> True new_primModNatS02(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) The set Q consists of the following terms: new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_esEs0(Neg(Zero)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Zero)) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Zero, x0) new_esEs0(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (595) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(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_primModNatS02(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS01(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS02(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS02(vuz130, vuz131, Zero, Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS02(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) new_esEs0(Pos(Succ(vuz2500))) -> False new_esEs0(Pos(Zero)) -> True new_esEs0(Neg(Succ(vuz2500))) -> False new_esEs0(Neg(Zero)) -> True The set Q consists of the following terms: new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_esEs0(Neg(Zero)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Zero)) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Zero, x0) new_esEs0(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (596) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) at position [0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))),new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))))) (new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))),new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2))))))) (new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS01(Succ(Zero), Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS01(Succ(Zero), Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))))) (new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Neg(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Neg(Succ(Succ(Succ(Zero))))), 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'10(False, Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS01(Succ(Zero), Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(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_primModNatS02(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS01(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS02(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS02(vuz130, vuz131, Zero, Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS02(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) new_esEs0(Pos(Succ(vuz2500))) -> False new_esEs0(Pos(Zero)) -> True new_esEs0(Neg(Succ(vuz2500))) -> False new_esEs0(Neg(Zero)) -> True The set Q consists of the following terms: new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_esEs0(Neg(Zero)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Zero)) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Zero, x0) new_esEs0(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (598) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) at position [0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))),new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))))) ---------------------------------------- (599) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS01(Succ(Zero), Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Neg(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS02(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS01(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS02(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS02(vuz130, vuz131, Zero, Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS02(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) new_esEs0(Pos(Succ(vuz2500))) -> False new_esEs0(Pos(Zero)) -> True new_esEs0(Neg(Succ(vuz2500))) -> False new_esEs0(Neg(Zero)) -> True The set Q consists of the following terms: new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_esEs0(Neg(Zero)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Zero)) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Zero, x0) new_esEs0(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (600) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS01(Succ(Zero), Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) at position [0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))))) ---------------------------------------- (601) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Neg(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS02(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS01(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS02(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS02(vuz130, vuz131, Zero, Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS02(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) new_esEs0(Pos(Succ(vuz2500))) -> False new_esEs0(Pos(Zero)) -> True new_esEs0(Neg(Succ(vuz2500))) -> False new_esEs0(Neg(Zero)) -> True The set Q consists of the following terms: new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_esEs0(Neg(Zero)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Zero)) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Zero, x0) new_esEs0(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (602) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(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'00(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))))) ---------------------------------------- (603) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(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_primModNatS02(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS01(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS02(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS02(vuz130, vuz131, Zero, Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS02(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) new_esEs0(Pos(Succ(vuz2500))) -> False new_esEs0(Pos(Zero)) -> True new_esEs0(Neg(Succ(vuz2500))) -> False new_esEs0(Neg(Zero)) -> True The set Q consists of the following terms: new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_esEs0(Neg(Zero)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Zero)) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Zero, x0) new_esEs0(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (604) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))),new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(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'10(False, Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS02(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS01(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS02(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS02(vuz130, vuz131, Zero, Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS02(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) new_esEs0(Pos(Succ(vuz2500))) -> False new_esEs0(Pos(Zero)) -> True new_esEs0(Neg(Succ(vuz2500))) -> False new_esEs0(Neg(Zero)) -> True The set Q consists of the following terms: new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_esEs0(Neg(Zero)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Zero)) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Zero, x0) new_esEs0(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (606) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(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'10(False, Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS02(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS01(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS02(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS02(vuz130, vuz131, Zero, Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS02(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) new_esEs0(Pos(Succ(vuz2500))) -> False new_esEs0(Pos(Zero)) -> True new_esEs0(Neg(Succ(vuz2500))) -> False new_esEs0(Neg(Zero)) -> True The set Q consists of the following terms: new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_esEs0(Neg(Zero)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Zero)) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Zero, x0) new_esEs0(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (608) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))),new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), 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'10(False, Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS02(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS01(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS02(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS02(vuz130, vuz131, Zero, Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS02(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) new_esEs0(Pos(Succ(vuz2500))) -> False new_esEs0(Pos(Zero)) -> True new_esEs0(Neg(Succ(vuz2500))) -> False new_esEs0(Neg(Zero)) -> True The set Q consists of the following terms: new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_esEs0(Neg(Zero)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Zero)) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Zero, x0) new_esEs0(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (610) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Succ(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'10(False, Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS02(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS01(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS02(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS02(vuz130, vuz131, Zero, Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS02(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) new_esEs0(Pos(Succ(vuz2500))) -> False new_esEs0(Pos(Zero)) -> True new_esEs0(Neg(Succ(vuz2500))) -> False new_esEs0(Neg(Zero)) -> True The set Q consists of the following terms: new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_esEs0(Neg(Zero)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Zero)) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Zero, x0) new_esEs0(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (612) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))),new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))))) ---------------------------------------- (613) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(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_primModNatS02(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS01(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS02(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS02(vuz130, vuz131, Zero, Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS02(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) new_esEs0(Pos(Succ(vuz2500))) -> False new_esEs0(Pos(Zero)) -> True new_esEs0(Neg(Succ(vuz2500))) -> False new_esEs0(Neg(Zero)) -> True The set Q consists of the following terms: new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_esEs0(Neg(Zero)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Zero)) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Zero, x0) new_esEs0(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (614) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Zero, Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Zero, Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))))) ---------------------------------------- (615) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(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_primModNatS02(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS01(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS02(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS02(vuz130, vuz131, Zero, Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS02(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) new_esEs0(Pos(Succ(vuz2500))) -> False new_esEs0(Pos(Zero)) -> True new_esEs0(Neg(Succ(vuz2500))) -> False new_esEs0(Neg(Zero)) -> True The set Q consists of the following terms: new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_esEs0(Neg(Zero)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Zero)) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Zero, x0) new_esEs0(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (616) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(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'00(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))))) ---------------------------------------- (617) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(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_primModNatS02(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS01(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS02(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS02(vuz130, vuz131, Zero, Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS02(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) new_esEs0(Pos(Succ(vuz2500))) -> False new_esEs0(Pos(Zero)) -> True new_esEs0(Neg(Succ(vuz2500))) -> False new_esEs0(Neg(Zero)) -> True The set Q consists of the following terms: new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_esEs0(Neg(Zero)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Zero)) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Zero, x0) new_esEs0(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (618) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (619) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(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_primModNatS02(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS01(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS02(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS02(vuz130, vuz131, Zero, Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS02(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) new_esEs0(Pos(Succ(vuz2500))) -> False new_esEs0(Pos(Zero)) -> True new_esEs0(Neg(Succ(vuz2500))) -> False new_esEs0(Neg(Zero)) -> True The set Q consists of the following terms: new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_esEs0(Neg(Zero)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Zero)) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Zero, x0) new_esEs0(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (620) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) at position [0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))),new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))))) (new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))),new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))))) (new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS01(Succ(Zero), Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS01(Succ(Zero), Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))))) (new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Pos(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Pos(Succ(Succ(Succ(Zero))))), 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'10(False, Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS01(Succ(Zero), Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(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_primModNatS02(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS01(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS02(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS02(vuz130, vuz131, Zero, Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS02(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) new_esEs0(Pos(Succ(vuz2500))) -> False new_esEs0(Pos(Zero)) -> True new_esEs0(Neg(Succ(vuz2500))) -> False new_esEs0(Neg(Zero)) -> True The set Q consists of the following terms: new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_esEs0(Neg(Zero)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Zero)) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Zero, x0) new_esEs0(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (622) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (623) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Pos(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(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_primModNatS02(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS01(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS02(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS02(vuz130, vuz131, Zero, Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS02(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) new_esEs0(Pos(Succ(vuz2500))) -> False new_esEs0(Pos(Zero)) -> True new_esEs0(Neg(Succ(vuz2500))) -> False new_esEs0(Neg(Zero)) -> True The set Q consists of the following terms: new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_esEs0(Neg(Zero)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Zero)) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Zero, x0) new_esEs0(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (624) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) at position [0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))),new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))))) ---------------------------------------- (625) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Pos(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS02(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS01(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS02(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS02(vuz130, vuz131, Zero, Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS02(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) new_esEs0(Pos(Succ(vuz2500))) -> False new_esEs0(Pos(Zero)) -> True new_esEs0(Neg(Succ(vuz2500))) -> False new_esEs0(Neg(Zero)) -> True The set Q consists of the following terms: new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_esEs0(Neg(Zero)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Zero)) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Zero, x0) new_esEs0(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (626) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(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'00(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))))) ---------------------------------------- (627) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(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_primModNatS02(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS01(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS02(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS02(vuz130, vuz131, Zero, Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS02(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) new_esEs0(Pos(Succ(vuz2500))) -> False new_esEs0(Pos(Zero)) -> True new_esEs0(Neg(Succ(vuz2500))) -> False new_esEs0(Neg(Zero)) -> True The set Q consists of the following terms: new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_esEs0(Neg(Zero)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Zero)) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Zero, x0) new_esEs0(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (628) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))),new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))))) ---------------------------------------- (629) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS02(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS01(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS02(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS02(vuz130, vuz131, Zero, Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS02(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) new_esEs0(Pos(Succ(vuz2500))) -> False new_esEs0(Pos(Zero)) -> True new_esEs0(Neg(Succ(vuz2500))) -> False new_esEs0(Neg(Zero)) -> True The set Q consists of the following terms: new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_esEs0(Neg(Zero)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Zero)) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Zero, x0) new_esEs0(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (630) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))),new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))))) ---------------------------------------- (631) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS02(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS01(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS02(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS02(vuz130, vuz131, Zero, Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS02(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) new_esEs0(Pos(Succ(vuz2500))) -> False new_esEs0(Pos(Zero)) -> True new_esEs0(Neg(Succ(vuz2500))) -> False new_esEs0(Neg(Zero)) -> True The set Q consists of the following terms: new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_esEs0(Neg(Zero)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Zero)) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Zero, x0) new_esEs0(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (632) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))),new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))))) ---------------------------------------- (633) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(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_primModNatS02(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS01(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS02(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS02(vuz130, vuz131, Zero, Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS02(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) new_esEs0(Pos(Succ(vuz2500))) -> False new_esEs0(Pos(Zero)) -> True new_esEs0(Neg(Succ(vuz2500))) -> False new_esEs0(Neg(Zero)) -> True The set Q consists of the following terms: new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_esEs0(Neg(Zero)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Zero)) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Zero, x0) new_esEs0(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (634) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) at position [1,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Zero)))),new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Zero))))) (new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))),new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)))) (new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS01(Succ(Zero), Succ(Zero)))),new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS01(Succ(Zero), Succ(Zero))))) (new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))))) ---------------------------------------- (635) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Zero)))) new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS01(Succ(Zero), Succ(Zero)))) new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(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_primModNatS02(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS01(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS02(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS02(vuz130, vuz131, Zero, Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS02(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) new_esEs0(Pos(Succ(vuz2500))) -> False new_esEs0(Pos(Zero)) -> True new_esEs0(Neg(Succ(vuz2500))) -> False new_esEs0(Neg(Zero)) -> True The set Q consists of the following terms: new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_esEs0(Neg(Zero)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Zero)) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Zero, x0) new_esEs0(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (636) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 3 SCCs with 1 less node. ---------------------------------------- (637) Complex Obligation (AND) ---------------------------------------- (638) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Zero)))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(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_primModNatS02(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS01(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS02(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS02(vuz130, vuz131, Zero, Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS02(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) new_esEs0(Pos(Succ(vuz2500))) -> False new_esEs0(Pos(Zero)) -> True new_esEs0(Neg(Succ(vuz2500))) -> False new_esEs0(Neg(Zero)) -> True The set Q consists of the following terms: new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_esEs0(Neg(Zero)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Zero)) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Zero, x0) new_esEs0(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (639) 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. ---------------------------------------- (640) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Zero)))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(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_primModNatS02(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS01(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS02(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS02(vuz130, vuz131, Zero, Zero) -> new_primModNatS01(vuz130, vuz131) new_esEs0(Neg(Succ(vuz2500))) -> False new_esEs0(Neg(Zero)) -> True new_primModNatS02(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) The set Q consists of the following terms: new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_esEs0(Neg(Zero)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Zero)) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Zero, x0) new_esEs0(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (641) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Zero)))) at position [1,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))),new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero)))))) ---------------------------------------- (642) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS02(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS01(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS02(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS02(vuz130, vuz131, Zero, Zero) -> new_primModNatS01(vuz130, vuz131) new_esEs0(Neg(Succ(vuz2500))) -> False new_esEs0(Neg(Zero)) -> True new_primModNatS02(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) The set Q consists of the following terms: new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_esEs0(Neg(Zero)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Zero)) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Zero, x0) new_esEs0(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (643) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))),new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero)))))) ---------------------------------------- (644) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS02(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS01(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS02(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS02(vuz130, vuz131, Zero, Zero) -> new_primModNatS01(vuz130, vuz131) new_esEs0(Neg(Succ(vuz2500))) -> False new_esEs0(Neg(Zero)) -> True new_primModNatS02(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) The set Q consists of the following terms: new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_esEs0(Neg(Zero)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Zero)) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Zero, x0) new_esEs0(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (645) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))),new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero)))))) ---------------------------------------- (646) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS02(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS01(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS02(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS02(vuz130, vuz131, Zero, Zero) -> new_primModNatS01(vuz130, vuz131) new_esEs0(Neg(Succ(vuz2500))) -> False new_esEs0(Neg(Zero)) -> True new_primModNatS02(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) The set Q consists of the following terms: new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_esEs0(Neg(Zero)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Zero)) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Zero, x0) new_esEs0(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (647) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))),new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))))) ---------------------------------------- (648) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(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_primModNatS02(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS01(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS02(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS02(vuz130, vuz131, Zero, Zero) -> new_primModNatS01(vuz130, vuz131) new_esEs0(Neg(Succ(vuz2500))) -> False new_esEs0(Neg(Zero)) -> True new_primModNatS02(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) The set Q consists of the following terms: new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_esEs0(Neg(Zero)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Zero)) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Zero, x0) new_esEs0(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (649) InductionCalculusProof (EQUIVALENT) Note that final constraints are written in bold face. For Pair new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) the following chains were created: *We consider the chain new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x1)))))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x1))))), Pos(Succ(Succ(Succ(Zero))))), new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) which results in the following constraint: (1) (new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x1))))), Pos(Succ(Succ(Succ(Zero)))))=new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) ==> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x1))))))_>=_new_gcd0Gcd'10(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'00(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x1))))))_>=_new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x1))))), Pos(Succ(Succ(Succ(Zero)))))) For Pair new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) the following chains were created: *We consider the chain new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x7))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x7))))), Pos(Succ(Succ(Succ(Zero))))), new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x8))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(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'00(Neg(Succ(Succ(Succ(Succ(x7))))), Pos(Succ(Succ(Succ(Zero)))))=new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x8))))), Pos(Succ(Succ(Succ(Zero))))) ==> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x7))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'00(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'10(False, Neg(Succ(Succ(Succ(Succ(x7))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x7))))), Pos(Succ(Succ(Succ(Zero)))))) For Pair new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(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'00(Neg(Succ(Succ(Succ(Succ(x13))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x13), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x13)))))), new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x14)))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x14), Succ(Succ(Zero))))) which results in the following constraint: (1) (new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x13), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x13))))))=new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x14)))))) ==> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x13))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'10(new_esEs0(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_esEs0(x20)=False ==> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x13))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'10(new_esEs0(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_esEs0(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'00(Neg(Succ(Succ(Succ(Succ(x13))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'10(new_esEs0(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'00(Neg(Succ(Succ(Succ(Succ(x13))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'10(new_esEs0(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'00(Neg(Succ(Succ(Succ(Succ(x13))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x13), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x13))))))) (6) (new_primModNatS02(x26, x25, x26, x25)=Succ(x21) & Succ(x13)=Succ(Succ(x26)) & Succ(Succ(Zero))=Succ(x25) ==> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x13))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'10(new_esEs0(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'00(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(Zero), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Zero))))))) We simplified constraint (6) using rules (I), (II), (III), (VII) which results in the following new constraint: (8) (x26=x28 & x25=x29 & new_primModNatS02(x26, x25, x28, x29)=Succ(x21) & Succ(Zero)=x25 ==> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Succ(x26)))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(Succ(x26)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(x26)))))))) We simplified constraint (8) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x26, x25, x28, x29)=Succ(x21) which results in the following new constraints: (9) (new_primModNatS01(x32, x31)=Succ(x21) & x32=Succ(x30) & x31=Zero & Succ(Zero)=x31 ==> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Succ(x32)))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(Succ(x32)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(x32)))))))) (10) (new_primModNatS02(x36, x35, x34, x33)=Succ(x21) & x36=Succ(x34) & x35=Succ(x33) & Succ(Zero)=x35 & (\/x37:new_primModNatS02(x36, x35, x34, x33)=Succ(x37) & x36=x34 & x35=x33 & Succ(Zero)=x35 ==> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Succ(x36)))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(Succ(x36)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(x36)))))))) ==> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Succ(x36)))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(Succ(x36)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(x36)))))))) (11) (new_primModNatS01(x39, x38)=Succ(x21) & x39=Zero & x38=Zero & Succ(Zero)=x38 ==> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Succ(x39)))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'10(new_esEs0(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'00(Neg(Succ(Succ(Succ(Succ(Succ(x42)))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'10(new_esEs0(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'00(Neg(Succ(Succ(Succ(Succ(Succ(Succ(x34))))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(Succ(Succ(x34))), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x34))))))))) We solved constraint (11) using rules (I), (II), (III).We simplified constraint (12) using rules (I), (II), (III), (IV) which results in the following new constraint: (14) (new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'10(new_esEs0(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'10(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) the following chains were created: *We consider the chain new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x15)))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x15), Succ(Succ(Zero))))), new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x16)))))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x16))))), Pos(Succ(Succ(Succ(Zero))))) which results in the following constraint: (1) (new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x15), Succ(Succ(Zero)))))=new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x16)))))) ==> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x15))))))_>=_new_gcd0Gcd'00(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'10(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x15))))))_>=_new_gcd0Gcd'00(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'10(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x15))))))_>=_new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x15), Succ(Succ(Zero)))))) (4) (new_primModNatS02(x49, x48, x49, x48)=Succ(Succ(Succ(Succ(x16)))) & Succ(x15)=Succ(Succ(x49)) & Succ(Succ(Zero))=Succ(x48) ==> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x15))))))_>=_new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x15), Succ(Succ(Zero)))))) We solved constraint (3) using rules (I), (II).We simplified constraint (4) using rules (I), (II), (III), (VII) which results in the following new constraint: (5) (x49=x51 & x48=x52 & new_primModNatS02(x49, x48, x51, x52)=Succ(Succ(Succ(Succ(x16)))) & Succ(Zero)=x48 ==> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(x49)))))))_>=_new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(Succ(x49)), Succ(Succ(Zero)))))) We simplified constraint (5) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x49, x48, x51, x52)=Succ(Succ(Succ(Succ(x16)))) which results in the following new constraints: (6) (new_primModNatS01(x55, x54)=Succ(Succ(Succ(Succ(x16)))) & x55=Succ(x53) & x54=Zero & Succ(Zero)=x54 ==> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(x55)))))))_>=_new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(Succ(x55)), Succ(Succ(Zero)))))) (7) (new_primModNatS02(x59, x58, x57, x56)=Succ(Succ(Succ(Succ(x16)))) & x59=Succ(x57) & x58=Succ(x56) & Succ(Zero)=x58 & (\/x60:new_primModNatS02(x59, x58, x57, x56)=Succ(Succ(Succ(Succ(x60)))) & x59=x57 & x58=x56 & Succ(Zero)=x58 ==> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(x59)))))))_>=_new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(Succ(x59)), Succ(Succ(Zero)))))) ==> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(x59)))))))_>=_new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(Succ(x59)), Succ(Succ(Zero)))))) (8) (new_primModNatS01(x62, x61)=Succ(Succ(Succ(Succ(x16)))) & x62=Zero & x61=Zero & Succ(Zero)=x61 ==> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(x62)))))))_>=_new_gcd0Gcd'00(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'10(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(x65)))))))_>=_new_gcd0Gcd'00(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'10(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x57))))))))_>=_new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(Succ(Succ(x57))), Succ(Succ(Zero)))))) We solved constraint (8) using rules (I), (II), (III).We solved constraint (9) using rules (I), (II), (III), (IV). To summarize, we get the following constraints P__>=_ for the following pairs. *new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) *(new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x1))))))_>=_new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x1))))), Pos(Succ(Succ(Succ(Zero)))))) *new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) *(new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x7))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x7))))), Pos(Succ(Succ(Succ(Zero)))))) *new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) *(new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(Zero), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Zero))))))) *(new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(Succ(Zero)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))) *(new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Succ(Succ(x34))))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(Succ(Succ(x34))), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x34))))))))) *new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) *(new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x57))))))))_>=_new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(Succ(Succ(x57))), Succ(Succ(Zero)))))) The constraints for P_> respective P_bound are constructed from P__>=_ where we just replace every occurence of "t _>=_ s" in P__>=_ by "t > s" respective "t _>=_ c". Here c stands for the fresh constant used for P_bound. ---------------------------------------- (650) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(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_primModNatS02(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS01(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS02(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS02(vuz130, vuz131, Zero, Zero) -> new_primModNatS01(vuz130, vuz131) new_esEs0(Neg(Succ(vuz2500))) -> False new_esEs0(Neg(Zero)) -> True new_primModNatS02(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) The set Q consists of the following terms: new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_esEs0(Neg(Zero)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Zero)) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Zero, x0) new_esEs0(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (651) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(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_primModNatS02(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS01(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS02(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS02(vuz130, vuz131, Zero, Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS02(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) new_esEs0(Pos(Succ(vuz2500))) -> False new_esEs0(Pos(Zero)) -> True new_esEs0(Neg(Succ(vuz2500))) -> False new_esEs0(Neg(Zero)) -> True The set Q consists of the following terms: new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_esEs0(Neg(Zero)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Zero)) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Zero, x0) new_esEs0(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (652) 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. ---------------------------------------- (653) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(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_primModNatS02(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS01(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS02(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS02(vuz130, vuz131, Zero, Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS02(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) new_esEs0(Pos(Succ(vuz2500))) -> False new_esEs0(Pos(Zero)) -> True The set Q consists of the following terms: new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_esEs0(Neg(Zero)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Zero)) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Zero, x0) new_esEs0(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (654) InductionCalculusProof (EQUIVALENT) Note that final constraints are written in bold face. For Pair new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) the following chains were created: *We consider the chain new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x1)))))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(x1))))), Neg(Succ(Succ(Succ(Zero))))), new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) which results in the following constraint: (1) (new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(x1))))), Neg(Succ(Succ(Succ(Zero)))))=new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) ==> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x1))))))_>=_new_gcd0Gcd'10(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'00(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x1))))))_>=_new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(x1))))), Neg(Succ(Succ(Succ(Zero)))))) For Pair new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) the following chains were created: *We consider the chain new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(x7))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x7))))), Neg(Succ(Succ(Succ(Zero))))), new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x8))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(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'00(Pos(Succ(Succ(Succ(Succ(x7))))), Neg(Succ(Succ(Succ(Zero)))))=new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x8))))), Neg(Succ(Succ(Succ(Zero))))) ==> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(x7))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'00(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'10(False, Pos(Succ(Succ(Succ(Succ(x7))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x7))))), Neg(Succ(Succ(Succ(Zero)))))) For Pair new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(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'00(Pos(Succ(Succ(Succ(Succ(x13))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x13), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x13)))))), new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x14)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x14), Succ(Succ(Zero))))) which results in the following constraint: (1) (new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x13), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x13))))))=new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x14)))))) ==> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x13))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'10(new_esEs0(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_esEs0(x20)=False ==> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x13))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'10(new_esEs0(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_esEs0(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'00(Pos(Succ(Succ(Succ(Succ(x13))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'10(new_esEs0(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'00(Pos(Succ(Succ(Succ(Succ(x13))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'10(new_esEs0(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'00(Pos(Succ(Succ(Succ(Succ(x13))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x13), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x13))))))) (6) (new_primModNatS02(x26, x25, x26, x25)=Succ(x21) & Succ(x13)=Succ(Succ(x26)) & Succ(Succ(Zero))=Succ(x25) ==> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x13))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'10(new_esEs0(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'00(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(Zero), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Zero))))))) We simplified constraint (6) using rules (I), (II), (III), (VII) which results in the following new constraint: (8) (x26=x28 & x25=x29 & new_primModNatS02(x26, x25, x28, x29)=Succ(x21) & Succ(Zero)=x25 ==> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(x26)))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(Succ(x26)), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(x26)))))))) We simplified constraint (8) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x26, x25, x28, x29)=Succ(x21) which results in the following new constraints: (9) (new_primModNatS01(x32, x31)=Succ(x21) & x32=Succ(x30) & x31=Zero & Succ(Zero)=x31 ==> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(x32)))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(Succ(x32)), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(x32)))))))) (10) (new_primModNatS02(x36, x35, x34, x33)=Succ(x21) & x36=Succ(x34) & x35=Succ(x33) & Succ(Zero)=x35 & (\/x37:new_primModNatS02(x36, x35, x34, x33)=Succ(x37) & x36=x34 & x35=x33 & Succ(Zero)=x35 ==> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(x36)))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(Succ(x36)), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(x36)))))))) ==> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(x36)))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(Succ(x36)), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(x36)))))))) (11) (new_primModNatS01(x39, x38)=Succ(x21) & x39=Zero & x38=Zero & Succ(Zero)=x38 ==> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(x39)))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'10(new_esEs0(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'00(Pos(Succ(Succ(Succ(Succ(Succ(x42)))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'10(new_esEs0(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'00(Pos(Succ(Succ(Succ(Succ(Succ(Succ(x34))))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(Succ(Succ(x34))), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x34))))))))) We solved constraint (11) using rules (I), (II), (III).We simplified constraint (12) using rules (I), (II), (III), (IV) which results in the following new constraint: (14) (new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'10(new_esEs0(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'10(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) the following chains were created: *We consider the chain new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x15)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x15), Succ(Succ(Zero))))), new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x16)))))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(x16))))), Neg(Succ(Succ(Succ(Zero))))) which results in the following constraint: (1) (new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x15), Succ(Succ(Zero)))))=new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x16)))))) ==> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x15))))))_>=_new_gcd0Gcd'00(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'10(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x15))))))_>=_new_gcd0Gcd'00(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'10(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x15))))))_>=_new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x15), Succ(Succ(Zero)))))) (4) (new_primModNatS02(x49, x48, x49, x48)=Succ(Succ(Succ(Succ(x16)))) & Succ(x15)=Succ(Succ(x49)) & Succ(Succ(Zero))=Succ(x48) ==> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x15))))))_>=_new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x15), Succ(Succ(Zero)))))) We solved constraint (3) using rules (I), (II).We simplified constraint (4) using rules (I), (II), (III), (VII) which results in the following new constraint: (5) (x49=x51 & x48=x52 & new_primModNatS02(x49, x48, x51, x52)=Succ(Succ(Succ(Succ(x16)))) & Succ(Zero)=x48 ==> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(x49)))))))_>=_new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(Succ(x49)), Succ(Succ(Zero)))))) We simplified constraint (5) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x49, x48, x51, x52)=Succ(Succ(Succ(Succ(x16)))) which results in the following new constraints: (6) (new_primModNatS01(x55, x54)=Succ(Succ(Succ(Succ(x16)))) & x55=Succ(x53) & x54=Zero & Succ(Zero)=x54 ==> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(x55)))))))_>=_new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(Succ(x55)), Succ(Succ(Zero)))))) (7) (new_primModNatS02(x59, x58, x57, x56)=Succ(Succ(Succ(Succ(x16)))) & x59=Succ(x57) & x58=Succ(x56) & Succ(Zero)=x58 & (\/x60:new_primModNatS02(x59, x58, x57, x56)=Succ(Succ(Succ(Succ(x60)))) & x59=x57 & x58=x56 & Succ(Zero)=x58 ==> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(x59)))))))_>=_new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(Succ(x59)), Succ(Succ(Zero)))))) ==> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(x59)))))))_>=_new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(Succ(x59)), Succ(Succ(Zero)))))) (8) (new_primModNatS01(x62, x61)=Succ(Succ(Succ(Succ(x16)))) & x62=Zero & x61=Zero & Succ(Zero)=x61 ==> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(x62)))))))_>=_new_gcd0Gcd'00(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'10(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(x65)))))))_>=_new_gcd0Gcd'00(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'10(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x57))))))))_>=_new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(Succ(Succ(x57))), Succ(Succ(Zero)))))) We solved constraint (8) using rules (I), (II), (III).We solved constraint (9) using rules (I), (II), (III), (IV). To summarize, we get the following constraints P__>=_ for the following pairs. *new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) *(new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x1))))))_>=_new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(x1))))), Neg(Succ(Succ(Succ(Zero)))))) *new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) *(new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(x7))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x7))))), Neg(Succ(Succ(Succ(Zero)))))) *new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) *(new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(Zero), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Zero))))))) *(new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(Succ(Zero)), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))) *(new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(Succ(x34))))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(Succ(Succ(x34))), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x34))))))))) *new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) *(new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x57))))))))_>=_new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(Succ(Succ(x57))), Succ(Succ(Zero)))))) The constraints for P_> respective P_bound are constructed from P__>=_ where we just replace every occurence of "t _>=_ s" in P__>=_ by "t > s" respective "t _>=_ c". Here c stands for the fresh constant used for P_bound. ---------------------------------------- (655) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(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_primModNatS02(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS01(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS02(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS02(vuz130, vuz131, Zero, Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS02(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) new_esEs0(Pos(Succ(vuz2500))) -> False new_esEs0(Pos(Zero)) -> True The set Q consists of the following terms: new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_esEs0(Neg(Zero)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Zero)) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Zero, x0) new_esEs0(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (656) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS02(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS01(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS02(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS02(vuz130, vuz131, Zero, Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS02(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) new_esEs0(Pos(Succ(vuz2500))) -> False new_esEs0(Pos(Zero)) -> True new_esEs0(Neg(Succ(vuz2500))) -> False new_esEs0(Neg(Zero)) -> True The set Q consists of the following terms: new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_esEs0(Neg(Zero)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Zero)) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Zero, x0) new_esEs0(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (657) InductionCalculusProof (EQUIVALENT) Note that final constraints are written in bold face. For Pair new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) the following chains were created: *We consider the chain new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(new_primModNatS02(Succ(Succ(x3)), Succ(Succ(x2)), x3, x2))), new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x4))))), Neg(Succ(Succ(Succ(Succ(x5)))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(Succ(Succ(x4)), Succ(Succ(x5)), x4, x5))), Neg(Succ(Succ(Succ(Succ(x5))))), Pos(Succ(Succ(Succ(Succ(x4)))))) which results in the following constraint: (1) (new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(new_primModNatS02(Succ(Succ(x3)), Succ(Succ(x2)), x3, x2)))=new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x4))))), Neg(Succ(Succ(Succ(Succ(x5)))))) ==> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))))_>=_new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(new_primModNatS02(Succ(Succ(x3)), Succ(Succ(x2)), x3, x2)))) We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: (2) (Succ(Succ(x3))=x40 & Succ(Succ(x2))=x41 & new_primModNatS02(x40, x41, x3, x2)=Succ(Succ(Succ(Succ(x5)))) ==> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))))_>=_new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(new_primModNatS02(Succ(Succ(x3)), Succ(Succ(x2)), x3, x2)))) We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x40, x41, x3, x2)=Succ(Succ(Succ(Succ(x5)))) which results in the following new constraints: (3) (new_primModNatS01(x44, x43)=Succ(Succ(Succ(Succ(x5)))) & Succ(Succ(Succ(x42)))=x44 & Succ(Succ(Zero))=x43 ==> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Succ(x42)))))))_>=_new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(new_primModNatS02(Succ(Succ(Succ(x42))), Succ(Succ(Zero)), Succ(x42), Zero)))) (4) (new_primModNatS02(x48, x47, x46, x45)=Succ(Succ(Succ(Succ(x5)))) & Succ(Succ(Succ(x46)))=x48 & Succ(Succ(Succ(x45)))=x47 & (\/x49:new_primModNatS02(x48, x47, x46, x45)=Succ(Succ(Succ(Succ(x49)))) & Succ(Succ(x46))=x48 & Succ(Succ(x45))=x47 ==> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(x45))))), Neg(Succ(Succ(Succ(Succ(x46))))))_>=_new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x45))))), Neg(new_primModNatS02(Succ(Succ(x46)), Succ(Succ(x45)), x46, x45)))) ==> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(Succ(x45)))))), Neg(Succ(Succ(Succ(Succ(Succ(x46)))))))_>=_new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(x45)))))), Neg(new_primModNatS02(Succ(Succ(Succ(x46))), Succ(Succ(Succ(x45))), Succ(x46), Succ(x45))))) (5) (new_primModNatS01(x51, x50)=Succ(Succ(Succ(Succ(x5)))) & Succ(Succ(Zero))=x51 & Succ(Succ(Zero))=x50 ==> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero)))) (6) (Succ(Succ(x54))=Succ(Succ(Succ(Succ(x5)))) & Succ(Succ(Zero))=x54 & Succ(Succ(Succ(x52)))=x53 ==> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(Succ(x52)))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(x52)))))), Neg(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Succ(x52))), Zero, Succ(x52))))) We simplified constraint (3) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x44, x43)=Succ(Succ(Succ(Succ(x5)))) which results in the following new constraint: (7) (new_primModNatS1(new_primMinusNatS2(Succ(x56), Succ(x55)), Succ(x55))=Succ(Succ(Succ(Succ(x5)))) & Succ(Succ(Succ(x42)))=x56 & Succ(Succ(Zero))=x55 ==> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Succ(x42)))))))_>=_new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(new_primModNatS02(Succ(Succ(Succ(x42))), Succ(Succ(Zero)), Succ(x42), Zero)))) We simplified constraint (4) using rule (IV) which results in the following new constraint: (8) (new_primModNatS02(x48, x47, x46, x45)=Succ(Succ(Succ(Succ(x5)))) & Succ(Succ(Succ(x46)))=x48 & Succ(Succ(Succ(x45)))=x47 ==> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(Succ(x45)))))), Neg(Succ(Succ(Succ(Succ(Succ(x46)))))))_>=_new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(x45)))))), Neg(new_primModNatS02(Succ(Succ(Succ(x46))), Succ(Succ(Succ(x45))), Succ(x46), Succ(x45))))) We simplified constraint (5) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x51, x50)=Succ(Succ(Succ(Succ(x5)))) which results in the following new constraint: (9) (new_primModNatS1(new_primMinusNatS2(Succ(x75), Succ(x74)), Succ(x74))=Succ(Succ(Succ(Succ(x5)))) & Succ(Succ(Zero))=x75 & Succ(Succ(Zero))=x74 ==> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero)))) We simplified constraint (6) using rules (I), (II), (III), (IV) which results in the following new constraint: (10) (new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(Succ(x52)))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(x52)))))), Neg(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Succ(x52))), Zero, Succ(x52))))) We simplified constraint (7) using rules (III), (IV), (VII) which results in the following new constraint: (11) (new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Succ(x42)))))))_>=_new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(new_primModNatS02(Succ(Succ(Succ(x42))), Succ(Succ(Zero)), Succ(x42), Zero)))) We simplified constraint (8) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x48, x47, x46, x45)=Succ(Succ(Succ(Succ(x5)))) which results in the following new constraints: (12) (new_primModNatS01(x63, x62)=Succ(Succ(Succ(Succ(x5)))) & Succ(Succ(Succ(Succ(x61))))=x63 & Succ(Succ(Succ(Zero)))=x62 ==> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x61))))))))_>=_new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(new_primModNatS02(Succ(Succ(Succ(Succ(x61)))), Succ(Succ(Succ(Zero))), Succ(Succ(x61)), Succ(Zero))))) (13) (new_primModNatS02(x67, x66, x65, x64)=Succ(Succ(Succ(Succ(x5)))) & Succ(Succ(Succ(Succ(x65))))=x67 & Succ(Succ(Succ(Succ(x64))))=x66 & (\/x68:new_primModNatS02(x67, x66, x65, x64)=Succ(Succ(Succ(Succ(x68)))) & Succ(Succ(Succ(x65)))=x67 & Succ(Succ(Succ(x64)))=x66 ==> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(Succ(x64)))))), Neg(Succ(Succ(Succ(Succ(Succ(x65)))))))_>=_new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(x64)))))), Neg(new_primModNatS02(Succ(Succ(Succ(x65))), Succ(Succ(Succ(x64))), Succ(x65), Succ(x64))))) ==> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(Succ(Succ(x64))))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x65))))))))_>=_new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(Succ(x64))))))), Neg(new_primModNatS02(Succ(Succ(Succ(Succ(x65)))), Succ(Succ(Succ(Succ(x64)))), Succ(Succ(x65)), Succ(Succ(x64)))))) (14) (new_primModNatS01(x70, x69)=Succ(Succ(Succ(Succ(x5)))) & Succ(Succ(Succ(Zero)))=x70 & Succ(Succ(Succ(Zero)))=x69 ==> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(new_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero))))) (15) (Succ(Succ(x73))=Succ(Succ(Succ(Succ(x5)))) & Succ(Succ(Succ(Zero)))=x73 & Succ(Succ(Succ(Succ(x71))))=x72 ==> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(Succ(Succ(x71))))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(Succ(x71))))))), Neg(new_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Succ(x71)))), Succ(Zero), Succ(Succ(x71)))))) We simplified constraint (12) using rules (III), (IV) which results in the following new constraint: (16) (new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x61))))))))_>=_new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(new_primModNatS02(Succ(Succ(Succ(Succ(x61)))), Succ(Succ(Succ(Zero))), Succ(Succ(x61)), Succ(Zero))))) We simplified constraint (13) using rules (III), (IV) which results in the following new constraint: (17) (new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(Succ(Succ(x64))))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x65))))))))_>=_new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(Succ(x64))))))), Neg(new_primModNatS02(Succ(Succ(Succ(Succ(x65)))), Succ(Succ(Succ(Succ(x64)))), Succ(Succ(x65)), Succ(Succ(x64)))))) We simplified constraint (14) using rules (III), (IV) which results in the following new constraint: (18) (new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(new_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero))))) We simplified constraint (15) using rules (I), (II), (III), (IV) which results in the following new constraint: (19) (new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(Succ(Succ(x71))))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(Succ(x71))))))), Neg(new_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Succ(x71)))), Succ(Zero), Succ(Succ(x71)))))) We simplified constraint (9) using rules (III), (IV), (VII) which results in the following new constraint: (20) (new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero)))) For Pair new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) the following chains were created: *We consider the chain new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x14))))), Neg(Succ(Succ(Succ(Succ(x15)))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(Succ(Succ(x14)), Succ(Succ(x15)), x14, x15))), Neg(Succ(Succ(Succ(Succ(x15))))), Pos(Succ(Succ(Succ(Succ(x14)))))), new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x16))))), Pos(Succ(Succ(Succ(Succ(x17)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x16))))), Pos(new_primModNatS02(Succ(Succ(x17)), Succ(Succ(x16)), x17, x16))) which results in the following constraint: (1) (new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(Succ(Succ(x14)), Succ(Succ(x15)), x14, x15))), Neg(Succ(Succ(Succ(Succ(x15))))), Pos(Succ(Succ(Succ(Succ(x14))))))=new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x16))))), Pos(Succ(Succ(Succ(Succ(x17)))))) ==> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x14))))), Neg(Succ(Succ(Succ(Succ(x15))))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(Succ(Succ(x14)), Succ(Succ(x15)), x14, x15))), Neg(Succ(Succ(Succ(Succ(x15))))), Pos(Succ(Succ(Succ(Succ(x14))))))) We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: (2) (Pos(new_primModNatS02(Succ(Succ(x14)), Succ(Succ(x15)), x14, x15))=x80 & new_esEs0(x80)=False ==> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x14))))), Neg(Succ(Succ(Succ(Succ(x15))))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(Succ(Succ(x14)), Succ(Succ(x15)), x14, x15))), Neg(Succ(Succ(Succ(Succ(x15))))), Pos(Succ(Succ(Succ(Succ(x14))))))) We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_esEs0(x80)=False which results in the following new constraints: (3) (False=False & Pos(new_primModNatS02(Succ(Succ(x14)), Succ(Succ(x15)), x14, x15))=Pos(Succ(x81)) ==> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x14))))), Neg(Succ(Succ(Succ(Succ(x15))))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(Succ(Succ(x14)), Succ(Succ(x15)), x14, x15))), Neg(Succ(Succ(Succ(Succ(x15))))), Pos(Succ(Succ(Succ(Succ(x14))))))) (4) (False=False & Pos(new_primModNatS02(Succ(Succ(x14)), Succ(Succ(x15)), x14, x15))=Neg(Succ(x82)) ==> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x14))))), Neg(Succ(Succ(Succ(Succ(x15))))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(Succ(Succ(x14)), Succ(Succ(x15)), x14, x15))), Neg(Succ(Succ(Succ(Succ(x15))))), Pos(Succ(Succ(Succ(Succ(x14))))))) We simplified constraint (3) using rules (I), (II), (VII) which results in the following new constraint: (5) (Succ(Succ(x14))=x83 & Succ(Succ(x15))=x84 & new_primModNatS02(x83, x84, x14, x15)=Succ(x81) ==> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x14))))), Neg(Succ(Succ(Succ(Succ(x15))))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(Succ(Succ(x14)), Succ(Succ(x15)), x14, x15))), Neg(Succ(Succ(Succ(Succ(x15))))), Pos(Succ(Succ(Succ(Succ(x14))))))) We solved constraint (4) using rules (I), (II).We simplified constraint (5) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x83, x84, x14, x15)=Succ(x81) which results in the following new constraints: (6) (new_primModNatS01(x87, x86)=Succ(x81) & Succ(Succ(Succ(x85)))=x87 & Succ(Succ(Zero))=x86 ==> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(x85)))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(Succ(Succ(Succ(x85))), Succ(Succ(Zero)), Succ(x85), Zero))), Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Succ(x85)))))))) (7) (new_primModNatS02(x91, x90, x89, x88)=Succ(x81) & Succ(Succ(Succ(x89)))=x91 & Succ(Succ(Succ(x88)))=x90 & (\/x92:new_primModNatS02(x91, x90, x89, x88)=Succ(x92) & Succ(Succ(x89))=x91 & Succ(Succ(x88))=x90 ==> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x89))))), Neg(Succ(Succ(Succ(Succ(x88))))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(Succ(Succ(x89)), Succ(Succ(x88)), x89, x88))), Neg(Succ(Succ(Succ(Succ(x88))))), Pos(Succ(Succ(Succ(Succ(x89))))))) ==> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(x89)))))), Neg(Succ(Succ(Succ(Succ(Succ(x88)))))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(Succ(Succ(Succ(x89))), Succ(Succ(Succ(x88))), Succ(x89), Succ(x88)))), Neg(Succ(Succ(Succ(Succ(Succ(x88)))))), Pos(Succ(Succ(Succ(Succ(Succ(x89)))))))) (8) (new_primModNatS01(x94, x93)=Succ(x81) & Succ(Succ(Zero))=x94 & Succ(Succ(Zero))=x93 ==> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero))), Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))))) (9) (Succ(Succ(x97))=Succ(x81) & Succ(Succ(Zero))=x97 & Succ(Succ(Succ(x95)))=x96 ==> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Succ(x95)))))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Succ(x95))), Zero, Succ(x95)))), Neg(Succ(Succ(Succ(Succ(Succ(x95)))))), Pos(Succ(Succ(Succ(Succ(Zero))))))) We simplified constraint (6) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x87, x86)=Succ(x81) which results in the following new constraint: (10) (new_primModNatS1(new_primMinusNatS2(Succ(x99), Succ(x98)), Succ(x98))=Succ(x81) & Succ(Succ(Succ(x85)))=x99 & Succ(Succ(Zero))=x98 ==> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(x85)))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(Succ(Succ(Succ(x85))), Succ(Succ(Zero)), Succ(x85), Zero))), Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Succ(x85)))))))) We simplified constraint (7) using rule (IV) which results in the following new constraint: (11) (new_primModNatS02(x91, x90, x89, x88)=Succ(x81) & Succ(Succ(Succ(x89)))=x91 & Succ(Succ(Succ(x88)))=x90 ==> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(x89)))))), Neg(Succ(Succ(Succ(Succ(Succ(x88)))))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(Succ(Succ(Succ(x89))), Succ(Succ(Succ(x88))), Succ(x89), Succ(x88)))), Neg(Succ(Succ(Succ(Succ(Succ(x88)))))), Pos(Succ(Succ(Succ(Succ(Succ(x89)))))))) We simplified constraint (8) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x94, x93)=Succ(x81) which results in the following new constraint: (12) (new_primModNatS1(new_primMinusNatS2(Succ(x118), Succ(x117)), Succ(x117))=Succ(x81) & Succ(Succ(Zero))=x118 & Succ(Succ(Zero))=x117 ==> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero))), Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))))) We simplified constraint (9) using rules (I), (II), (IV) which results in the following new constraint: (13) (new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Succ(x95)))))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Succ(x95))), Zero, Succ(x95)))), Neg(Succ(Succ(Succ(Succ(Succ(x95)))))), Pos(Succ(Succ(Succ(Succ(Zero))))))) We simplified constraint (10) using rules (III), (IV), (VII) which results in the following new constraint: (14) (new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(x85)))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(Succ(Succ(Succ(x85))), Succ(Succ(Zero)), Succ(x85), Zero))), Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Succ(x85)))))))) We simplified constraint (11) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x91, x90, x89, x88)=Succ(x81) which results in the following new constraints: (15) (new_primModNatS01(x106, x105)=Succ(x81) & Succ(Succ(Succ(Succ(x104))))=x106 & Succ(Succ(Succ(Zero)))=x105 ==> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(Succ(x104))))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(Succ(Succ(Succ(Succ(x104)))), Succ(Succ(Succ(Zero))), Succ(Succ(x104)), Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x104))))))))) (16) (new_primModNatS02(x110, x109, x108, x107)=Succ(x81) & Succ(Succ(Succ(Succ(x108))))=x110 & Succ(Succ(Succ(Succ(x107))))=x109 & (\/x111:new_primModNatS02(x110, x109, x108, x107)=Succ(x111) & Succ(Succ(Succ(x108)))=x110 & Succ(Succ(Succ(x107)))=x109 ==> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(x108)))))), Neg(Succ(Succ(Succ(Succ(Succ(x107)))))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(Succ(Succ(Succ(x108))), Succ(Succ(Succ(x107))), Succ(x108), Succ(x107)))), Neg(Succ(Succ(Succ(Succ(Succ(x107)))))), Pos(Succ(Succ(Succ(Succ(Succ(x108)))))))) ==> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(Succ(x108))))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x107))))))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(Succ(Succ(Succ(Succ(x108)))), Succ(Succ(Succ(Succ(x107)))), Succ(Succ(x108)), Succ(Succ(x107))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x107))))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x108))))))))) (17) (new_primModNatS01(x113, x112)=Succ(x81) & Succ(Succ(Succ(Zero)))=x113 & Succ(Succ(Succ(Zero)))=x112 ==> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))) (18) (Succ(Succ(x116))=Succ(x81) & Succ(Succ(Succ(Zero)))=x116 & Succ(Succ(Succ(Succ(x114))))=x115 ==> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x114))))))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Succ(x114)))), Succ(Zero), Succ(Succ(x114))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x114))))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))) We simplified constraint (15) using rules (III), (IV) which results in the following new constraint: (19) (new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(Succ(x104))))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(Succ(Succ(Succ(Succ(x104)))), Succ(Succ(Succ(Zero))), Succ(Succ(x104)), Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x104))))))))) We simplified constraint (16) using rules (III), (IV) which results in the following new constraint: (20) (new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(Succ(x108))))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x107))))))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(Succ(Succ(Succ(Succ(x108)))), Succ(Succ(Succ(Succ(x107)))), Succ(Succ(x108)), Succ(Succ(x107))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x107))))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x108))))))))) We simplified constraint (17) using rules (III), (IV) which results in the following new constraint: (21) (new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))) We simplified constraint (18) using rules (I), (II), (IV) which results in the following new constraint: (22) (new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x114))))))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Succ(x114)))), Succ(Zero), Succ(Succ(x114))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x114))))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))) We simplified constraint (12) using rules (III), (IV), (VII) which results in the following new constraint: (23) (new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero))), Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))))) For Pair new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) the following chains were created: *We consider the chain new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x26))))), Pos(Succ(Succ(Succ(Succ(x27)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x26))))), Pos(new_primModNatS02(Succ(Succ(x27)), Succ(Succ(x26)), x27, x26))), new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x28))))), Pos(Succ(Succ(Succ(Succ(x29)))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(Succ(Succ(x28)), Succ(Succ(x29)), x28, x29))), Pos(Succ(Succ(Succ(Succ(x29))))), Neg(Succ(Succ(Succ(Succ(x28)))))) which results in the following constraint: (1) (new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x26))))), Pos(new_primModNatS02(Succ(Succ(x27)), Succ(Succ(x26)), x27, x26)))=new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x28))))), Pos(Succ(Succ(Succ(Succ(x29)))))) ==> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x26))))), Pos(Succ(Succ(Succ(Succ(x27))))))_>=_new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x26))))), Pos(new_primModNatS02(Succ(Succ(x27)), Succ(Succ(x26)), x27, x26)))) We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: (2) (Succ(Succ(x27))=x123 & Succ(Succ(x26))=x124 & new_primModNatS02(x123, x124, x27, x26)=Succ(Succ(Succ(Succ(x29)))) ==> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x26))))), Pos(Succ(Succ(Succ(Succ(x27))))))_>=_new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x26))))), Pos(new_primModNatS02(Succ(Succ(x27)), Succ(Succ(x26)), x27, x26)))) We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x123, x124, x27, x26)=Succ(Succ(Succ(Succ(x29)))) which results in the following new constraints: (3) (new_primModNatS01(x127, x126)=Succ(Succ(Succ(Succ(x29)))) & Succ(Succ(Succ(x125)))=x127 & Succ(Succ(Zero))=x126 ==> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Succ(x125)))))))_>=_new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(new_primModNatS02(Succ(Succ(Succ(x125))), Succ(Succ(Zero)), Succ(x125), Zero)))) (4) (new_primModNatS02(x131, x130, x129, x128)=Succ(Succ(Succ(Succ(x29)))) & Succ(Succ(Succ(x129)))=x131 & Succ(Succ(Succ(x128)))=x130 & (\/x132:new_primModNatS02(x131, x130, x129, x128)=Succ(Succ(Succ(Succ(x132)))) & Succ(Succ(x129))=x131 & Succ(Succ(x128))=x130 ==> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x128))))), Pos(Succ(Succ(Succ(Succ(x129))))))_>=_new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x128))))), Pos(new_primModNatS02(Succ(Succ(x129)), Succ(Succ(x128)), x129, x128)))) ==> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(Succ(x128)))))), Pos(Succ(Succ(Succ(Succ(Succ(x129)))))))_>=_new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Succ(x128)))))), Pos(new_primModNatS02(Succ(Succ(Succ(x129))), Succ(Succ(Succ(x128))), Succ(x129), Succ(x128))))) (5) (new_primModNatS01(x134, x133)=Succ(Succ(Succ(Succ(x29)))) & Succ(Succ(Zero))=x134 & Succ(Succ(Zero))=x133 ==> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero)))) (6) (Succ(Succ(x137))=Succ(Succ(Succ(Succ(x29)))) & Succ(Succ(Zero))=x137 & Succ(Succ(Succ(x135)))=x136 ==> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(Succ(x135)))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Succ(x135)))))), Pos(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Succ(x135))), Zero, Succ(x135))))) We simplified constraint (3) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x127, x126)=Succ(Succ(Succ(Succ(x29)))) which results in the following new constraint: (7) (new_primModNatS1(new_primMinusNatS2(Succ(x139), Succ(x138)), Succ(x138))=Succ(Succ(Succ(Succ(x29)))) & Succ(Succ(Succ(x125)))=x139 & Succ(Succ(Zero))=x138 ==> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Succ(x125)))))))_>=_new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(new_primModNatS02(Succ(Succ(Succ(x125))), Succ(Succ(Zero)), Succ(x125), Zero)))) We simplified constraint (4) using rule (IV) which results in the following new constraint: (8) (new_primModNatS02(x131, x130, x129, x128)=Succ(Succ(Succ(Succ(x29)))) & Succ(Succ(Succ(x129)))=x131 & Succ(Succ(Succ(x128)))=x130 ==> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(Succ(x128)))))), Pos(Succ(Succ(Succ(Succ(Succ(x129)))))))_>=_new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Succ(x128)))))), Pos(new_primModNatS02(Succ(Succ(Succ(x129))), Succ(Succ(Succ(x128))), Succ(x129), Succ(x128))))) We simplified constraint (5) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x134, x133)=Succ(Succ(Succ(Succ(x29)))) which results in the following new constraint: (9) (new_primModNatS1(new_primMinusNatS2(Succ(x158), Succ(x157)), Succ(x157))=Succ(Succ(Succ(Succ(x29)))) & Succ(Succ(Zero))=x158 & Succ(Succ(Zero))=x157 ==> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero)))) We simplified constraint (6) using rules (I), (II), (III), (IV) which results in the following new constraint: (10) (new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(Succ(x135)))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Succ(x135)))))), Pos(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Succ(x135))), Zero, Succ(x135))))) We simplified constraint (7) using rules (III), (IV), (VII) which results in the following new constraint: (11) (new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Succ(x125)))))))_>=_new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(new_primModNatS02(Succ(Succ(Succ(x125))), Succ(Succ(Zero)), Succ(x125), Zero)))) We simplified constraint (8) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x131, x130, x129, x128)=Succ(Succ(Succ(Succ(x29)))) which results in the following new constraints: (12) (new_primModNatS01(x146, x145)=Succ(Succ(Succ(Succ(x29)))) & Succ(Succ(Succ(Succ(x144))))=x146 & Succ(Succ(Succ(Zero)))=x145 ==> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x144))))))))_>=_new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(new_primModNatS02(Succ(Succ(Succ(Succ(x144)))), Succ(Succ(Succ(Zero))), Succ(Succ(x144)), Succ(Zero))))) (13) (new_primModNatS02(x150, x149, x148, x147)=Succ(Succ(Succ(Succ(x29)))) & Succ(Succ(Succ(Succ(x148))))=x150 & Succ(Succ(Succ(Succ(x147))))=x149 & (\/x151:new_primModNatS02(x150, x149, x148, x147)=Succ(Succ(Succ(Succ(x151)))) & Succ(Succ(Succ(x148)))=x150 & Succ(Succ(Succ(x147)))=x149 ==> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(Succ(x147)))))), Pos(Succ(Succ(Succ(Succ(Succ(x148)))))))_>=_new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Succ(x147)))))), Pos(new_primModNatS02(Succ(Succ(Succ(x148))), Succ(Succ(Succ(x147))), Succ(x148), Succ(x147))))) ==> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(Succ(Succ(x147))))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x148))))))))_>=_new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Succ(Succ(x147))))))), Pos(new_primModNatS02(Succ(Succ(Succ(Succ(x148)))), Succ(Succ(Succ(Succ(x147)))), Succ(Succ(x148)), Succ(Succ(x147)))))) (14) (new_primModNatS01(x153, x152)=Succ(Succ(Succ(Succ(x29)))) & Succ(Succ(Succ(Zero)))=x153 & Succ(Succ(Succ(Zero)))=x152 ==> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(new_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero))))) (15) (Succ(Succ(x156))=Succ(Succ(Succ(Succ(x29)))) & Succ(Succ(Succ(Zero)))=x156 & Succ(Succ(Succ(Succ(x154))))=x155 ==> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(Succ(Succ(x154))))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Succ(Succ(x154))))))), Pos(new_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Succ(x154)))), Succ(Zero), Succ(Succ(x154)))))) We simplified constraint (12) using rules (III), (IV) which results in the following new constraint: (16) (new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x144))))))))_>=_new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(new_primModNatS02(Succ(Succ(Succ(Succ(x144)))), Succ(Succ(Succ(Zero))), Succ(Succ(x144)), Succ(Zero))))) We simplified constraint (13) using rules (III), (IV) which results in the following new constraint: (17) (new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(Succ(Succ(x147))))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x148))))))))_>=_new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Succ(Succ(x147))))))), Pos(new_primModNatS02(Succ(Succ(Succ(Succ(x148)))), Succ(Succ(Succ(Succ(x147)))), Succ(Succ(x148)), Succ(Succ(x147)))))) We simplified constraint (14) using rules (III), (IV) which results in the following new constraint: (18) (new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(new_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero))))) We simplified constraint (15) using rules (I), (II), (III), (IV) which results in the following new constraint: (19) (new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(Succ(Succ(x154))))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Succ(Succ(x154))))))), Pos(new_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Succ(x154)))), Succ(Zero), Succ(Succ(x154)))))) We simplified constraint (9) using rules (III), (IV), (VII) which results in the following new constraint: (20) (new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero)))) For Pair new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) the following chains were created: *We consider the chain new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x30))))), Pos(Succ(Succ(Succ(Succ(x31)))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(Succ(Succ(x30)), Succ(Succ(x31)), x30, x31))), Pos(Succ(Succ(Succ(Succ(x31))))), Neg(Succ(Succ(Succ(Succ(x30)))))), new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(x32))))), Neg(Succ(Succ(Succ(Succ(x33)))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x32))))), Neg(new_primModNatS02(Succ(Succ(x33)), Succ(Succ(x32)), x33, x32))) which results in the following constraint: (1) (new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(Succ(Succ(x30)), Succ(Succ(x31)), x30, x31))), Pos(Succ(Succ(Succ(Succ(x31))))), Neg(Succ(Succ(Succ(Succ(x30))))))=new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(x32))))), Neg(Succ(Succ(Succ(Succ(x33)))))) ==> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x30))))), Pos(Succ(Succ(Succ(Succ(x31))))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(Succ(Succ(x30)), Succ(Succ(x31)), x30, x31))), Pos(Succ(Succ(Succ(Succ(x31))))), Neg(Succ(Succ(Succ(Succ(x30))))))) We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: (2) (Neg(new_primModNatS02(Succ(Succ(x30)), Succ(Succ(x31)), x30, x31))=x163 & new_esEs0(x163)=False ==> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x30))))), Pos(Succ(Succ(Succ(Succ(x31))))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(Succ(Succ(x30)), Succ(Succ(x31)), x30, x31))), Pos(Succ(Succ(Succ(Succ(x31))))), Neg(Succ(Succ(Succ(Succ(x30))))))) We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_esEs0(x163)=False which results in the following new constraints: (3) (False=False & Neg(new_primModNatS02(Succ(Succ(x30)), Succ(Succ(x31)), x30, x31))=Pos(Succ(x164)) ==> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x30))))), Pos(Succ(Succ(Succ(Succ(x31))))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(Succ(Succ(x30)), Succ(Succ(x31)), x30, x31))), Pos(Succ(Succ(Succ(Succ(x31))))), Neg(Succ(Succ(Succ(Succ(x30))))))) (4) (False=False & Neg(new_primModNatS02(Succ(Succ(x30)), Succ(Succ(x31)), x30, x31))=Neg(Succ(x165)) ==> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x30))))), Pos(Succ(Succ(Succ(Succ(x31))))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(Succ(Succ(x30)), Succ(Succ(x31)), x30, x31))), Pos(Succ(Succ(Succ(Succ(x31))))), Neg(Succ(Succ(Succ(Succ(x30))))))) We solved constraint (3) using rules (I), (II).We simplified constraint (4) using rules (I), (II), (VII) which results in the following new constraint: (5) (Succ(Succ(x30))=x166 & Succ(Succ(x31))=x167 & new_primModNatS02(x166, x167, x30, x31)=Succ(x165) ==> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x30))))), Pos(Succ(Succ(Succ(Succ(x31))))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(Succ(Succ(x30)), Succ(Succ(x31)), x30, x31))), Pos(Succ(Succ(Succ(Succ(x31))))), Neg(Succ(Succ(Succ(Succ(x30))))))) We simplified constraint (5) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x166, x167, x30, x31)=Succ(x165) which results in the following new constraints: (6) (new_primModNatS01(x170, x169)=Succ(x165) & Succ(Succ(Succ(x168)))=x170 & Succ(Succ(Zero))=x169 ==> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Succ(x168)))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(Succ(Succ(Succ(x168))), Succ(Succ(Zero)), Succ(x168), Zero))), Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Succ(x168)))))))) (7) (new_primModNatS02(x174, x173, x172, x171)=Succ(x165) & Succ(Succ(Succ(x172)))=x174 & Succ(Succ(Succ(x171)))=x173 & (\/x175:new_primModNatS02(x174, x173, x172, x171)=Succ(x175) & Succ(Succ(x172))=x174 & Succ(Succ(x171))=x173 ==> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x172))))), Pos(Succ(Succ(Succ(Succ(x171))))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(Succ(Succ(x172)), Succ(Succ(x171)), x172, x171))), Pos(Succ(Succ(Succ(Succ(x171))))), Neg(Succ(Succ(Succ(Succ(x172))))))) ==> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Succ(x172)))))), Pos(Succ(Succ(Succ(Succ(Succ(x171)))))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(Succ(Succ(Succ(x172))), Succ(Succ(Succ(x171))), Succ(x172), Succ(x171)))), Pos(Succ(Succ(Succ(Succ(Succ(x171)))))), Neg(Succ(Succ(Succ(Succ(Succ(x172)))))))) (8) (new_primModNatS01(x177, x176)=Succ(x165) & Succ(Succ(Zero))=x177 & Succ(Succ(Zero))=x176 ==> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero))), Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))))) (9) (Succ(Succ(x180))=Succ(x165) & Succ(Succ(Zero))=x180 & Succ(Succ(Succ(x178)))=x179 ==> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Succ(x178)))))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Succ(x178))), Zero, Succ(x178)))), Pos(Succ(Succ(Succ(Succ(Succ(x178)))))), Neg(Succ(Succ(Succ(Succ(Zero))))))) We simplified constraint (6) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x170, x169)=Succ(x165) which results in the following new constraint: (10) (new_primModNatS1(new_primMinusNatS2(Succ(x182), Succ(x181)), Succ(x181))=Succ(x165) & Succ(Succ(Succ(x168)))=x182 & Succ(Succ(Zero))=x181 ==> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Succ(x168)))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(Succ(Succ(Succ(x168))), Succ(Succ(Zero)), Succ(x168), Zero))), Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Succ(x168)))))))) We simplified constraint (7) using rule (IV) which results in the following new constraint: (11) (new_primModNatS02(x174, x173, x172, x171)=Succ(x165) & Succ(Succ(Succ(x172)))=x174 & Succ(Succ(Succ(x171)))=x173 ==> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Succ(x172)))))), Pos(Succ(Succ(Succ(Succ(Succ(x171)))))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(Succ(Succ(Succ(x172))), Succ(Succ(Succ(x171))), Succ(x172), Succ(x171)))), Pos(Succ(Succ(Succ(Succ(Succ(x171)))))), Neg(Succ(Succ(Succ(Succ(Succ(x172)))))))) We simplified constraint (8) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x177, x176)=Succ(x165) which results in the following new constraint: (12) (new_primModNatS1(new_primMinusNatS2(Succ(x201), Succ(x200)), Succ(x200))=Succ(x165) & Succ(Succ(Zero))=x201 & Succ(Succ(Zero))=x200 ==> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero))), Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))))) We simplified constraint (9) using rules (I), (II), (IV) which results in the following new constraint: (13) (new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Succ(x178)))))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Succ(x178))), Zero, Succ(x178)))), Pos(Succ(Succ(Succ(Succ(Succ(x178)))))), Neg(Succ(Succ(Succ(Succ(Zero))))))) We simplified constraint (10) using rules (III), (IV), (VII) which results in the following new constraint: (14) (new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Succ(x168)))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(Succ(Succ(Succ(x168))), Succ(Succ(Zero)), Succ(x168), Zero))), Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Succ(x168)))))))) We simplified constraint (11) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x174, x173, x172, x171)=Succ(x165) which results in the following new constraints: (15) (new_primModNatS01(x189, x188)=Succ(x165) & Succ(Succ(Succ(Succ(x187))))=x189 & Succ(Succ(Succ(Zero)))=x188 ==> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Succ(Succ(x187))))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(Succ(Succ(Succ(Succ(x187)))), Succ(Succ(Succ(Zero))), Succ(Succ(x187)), Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x187))))))))) (16) (new_primModNatS02(x193, x192, x191, x190)=Succ(x165) & Succ(Succ(Succ(Succ(x191))))=x193 & Succ(Succ(Succ(Succ(x190))))=x192 & (\/x194:new_primModNatS02(x193, x192, x191, x190)=Succ(x194) & Succ(Succ(Succ(x191)))=x193 & Succ(Succ(Succ(x190)))=x192 ==> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Succ(x191)))))), Pos(Succ(Succ(Succ(Succ(Succ(x190)))))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(Succ(Succ(Succ(x191))), Succ(Succ(Succ(x190))), Succ(x191), Succ(x190)))), Pos(Succ(Succ(Succ(Succ(Succ(x190)))))), Neg(Succ(Succ(Succ(Succ(Succ(x191)))))))) ==> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Succ(Succ(x191))))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x190))))))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(Succ(Succ(Succ(Succ(x191)))), Succ(Succ(Succ(Succ(x190)))), Succ(Succ(x191)), Succ(Succ(x190))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x190))))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x191))))))))) (17) (new_primModNatS01(x196, x195)=Succ(x165) & Succ(Succ(Succ(Zero)))=x196 & Succ(Succ(Succ(Zero)))=x195 ==> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))) (18) (Succ(Succ(x199))=Succ(x165) & Succ(Succ(Succ(Zero)))=x199 & Succ(Succ(Succ(Succ(x197))))=x198 ==> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x197))))))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Succ(x197)))), Succ(Zero), Succ(Succ(x197))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x197))))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))) We simplified constraint (15) using rules (III), (IV) which results in the following new constraint: (19) (new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Succ(Succ(x187))))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(Succ(Succ(Succ(Succ(x187)))), Succ(Succ(Succ(Zero))), Succ(Succ(x187)), Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x187))))))))) We simplified constraint (16) using rules (III), (IV) which results in the following new constraint: (20) (new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Succ(Succ(x191))))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x190))))))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(Succ(Succ(Succ(Succ(x191)))), Succ(Succ(Succ(Succ(x190)))), Succ(Succ(x191)), Succ(Succ(x190))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x190))))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x191))))))))) We simplified constraint (17) using rules (III), (IV) which results in the following new constraint: (21) (new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))) We simplified constraint (18) using rules (I), (II), (IV) which results in the following new constraint: (22) (new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x197))))))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Succ(x197)))), Succ(Zero), Succ(Succ(x197))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x197))))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))) We simplified constraint (12) using rules (III), (IV), (VII) which results in the following new constraint: (23) (new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero))), Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))))) To summarize, we get the following constraints P__>=_ for the following pairs. *new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) *(new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(Succ(Succ(x71))))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(Succ(x71))))))), Neg(new_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Succ(x71)))), Succ(Zero), Succ(Succ(x71)))))) *(new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(Succ(x52)))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(x52)))))), Neg(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Succ(x52))), Zero, Succ(x52))))) *(new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Succ(x42)))))))_>=_new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(new_primModNatS02(Succ(Succ(Succ(x42))), Succ(Succ(Zero)), Succ(x42), Zero)))) *(new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x61))))))))_>=_new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(new_primModNatS02(Succ(Succ(Succ(Succ(x61)))), Succ(Succ(Succ(Zero))), Succ(Succ(x61)), Succ(Zero))))) *(new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(Succ(Succ(x64))))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x65))))))))_>=_new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(Succ(x64))))))), Neg(new_primModNatS02(Succ(Succ(Succ(Succ(x65)))), Succ(Succ(Succ(Succ(x64)))), Succ(Succ(x65)), Succ(Succ(x64)))))) *(new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(new_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero))))) *(new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero)))) *new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) *(new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x114))))))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Succ(x114)))), Succ(Zero), Succ(Succ(x114))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x114))))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))) *(new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Succ(x95)))))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Succ(x95))), Zero, Succ(x95)))), Neg(Succ(Succ(Succ(Succ(Succ(x95)))))), Pos(Succ(Succ(Succ(Succ(Zero))))))) *(new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(x85)))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(Succ(Succ(Succ(x85))), Succ(Succ(Zero)), Succ(x85), Zero))), Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Succ(x85)))))))) *(new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(Succ(x104))))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(Succ(Succ(Succ(Succ(x104)))), Succ(Succ(Succ(Zero))), Succ(Succ(x104)), Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x104))))))))) *(new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(Succ(x108))))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x107))))))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(Succ(Succ(Succ(Succ(x108)))), Succ(Succ(Succ(Succ(x107)))), Succ(Succ(x108)), Succ(Succ(x107))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x107))))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x108))))))))) *(new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))) *(new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero))), Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))))) *new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) *(new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(Succ(Succ(x154))))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Succ(Succ(x154))))))), Pos(new_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Succ(x154)))), Succ(Zero), Succ(Succ(x154)))))) *(new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(Succ(x135)))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Succ(x135)))))), Pos(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Succ(x135))), Zero, Succ(x135))))) *(new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Succ(x125)))))))_>=_new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(new_primModNatS02(Succ(Succ(Succ(x125))), Succ(Succ(Zero)), Succ(x125), Zero)))) *(new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x144))))))))_>=_new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(new_primModNatS02(Succ(Succ(Succ(Succ(x144)))), Succ(Succ(Succ(Zero))), Succ(Succ(x144)), Succ(Zero))))) *(new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(Succ(Succ(x147))))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x148))))))))_>=_new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Succ(Succ(x147))))))), Pos(new_primModNatS02(Succ(Succ(Succ(Succ(x148)))), Succ(Succ(Succ(Succ(x147)))), Succ(Succ(x148)), Succ(Succ(x147)))))) *(new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(new_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero))))) *(new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero)))) *new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) *(new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x197))))))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Succ(x197)))), Succ(Zero), Succ(Succ(x197))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x197))))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))) *(new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Succ(x178)))))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Succ(x178))), Zero, Succ(x178)))), Pos(Succ(Succ(Succ(Succ(Succ(x178)))))), Neg(Succ(Succ(Succ(Succ(Zero))))))) *(new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Succ(x168)))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(Succ(Succ(Succ(x168))), Succ(Succ(Zero)), Succ(x168), Zero))), Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Succ(x168)))))))) *(new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Succ(Succ(x187))))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(Succ(Succ(Succ(Succ(x187)))), Succ(Succ(Succ(Zero))), Succ(Succ(x187)), Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x187))))))))) *(new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Succ(Succ(x191))))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x190))))))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(Succ(Succ(Succ(Succ(x191)))), Succ(Succ(Succ(Succ(x190)))), Succ(Succ(x191)), Succ(Succ(x190))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x190))))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x191))))))))) *(new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))) *(new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero))), Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))))) The constraints for P_> respective P_bound are constructed from P__>=_ where we just replace every occurence of "t _>=_ s" in P__>=_ by "t > s" respective "t _>=_ c". Here c stands for the fresh constant used for P_bound. ---------------------------------------- (658) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS02(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS01(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS02(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS02(vuz130, vuz131, Zero, Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS02(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) new_esEs0(Pos(Succ(vuz2500))) -> False new_esEs0(Pos(Zero)) -> True new_esEs0(Neg(Succ(vuz2500))) -> False new_esEs0(Neg(Zero)) -> True The set Q consists of the following terms: new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_esEs0(Neg(Zero)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Zero)) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Zero, x0) new_esEs0(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (659) 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(vuz97, vuz98, Zero, Zero) -> new_primDivNatS00(vuz97, vuz98) new_primDivNatS(Succ(Succ(vuz32000)), Zero) -> new_primDivNatS(new_primMinusNatS0(vuz32000), Zero) new_primDivNatS0(vuz97, vuz98, Succ(vuz990), Succ(vuz1000)) -> new_primDivNatS0(vuz97, vuz98, vuz990, vuz1000) new_primDivNatS0(vuz97, vuz98, Succ(vuz990), Zero) -> new_primDivNatS(new_primMinusNatS2(vuz97, vuz98), Succ(vuz98)) new_primDivNatS00(vuz97, vuz98) -> new_primDivNatS(new_primMinusNatS2(vuz97, vuz98), Succ(vuz98)) new_primDivNatS(Succ(Zero), Zero) -> new_primDivNatS(new_primMinusNatS1, Zero) The TRS R consists of the following rules: new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero new_primMinusNatS0(vuz32000) -> Succ(vuz32000) The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS0(x0) new_primMinusNatS2(Succ(x0), Zero) new_primMinusNatS2(Zero, Zero) new_primMinusNatS1 We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (660) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 2 SCCs with 1 less node. ---------------------------------------- (661) Complex Obligation (AND) ---------------------------------------- (662) Obligation: Q DP problem: The TRS P consists of the following rules: new_primDivNatS(Succ(Succ(vuz32000)), Zero) -> new_primDivNatS(new_primMinusNatS0(vuz32000), Zero) The TRS R consists of the following rules: new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero new_primMinusNatS0(vuz32000) -> Succ(vuz32000) The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS0(x0) new_primMinusNatS2(Succ(x0), Zero) new_primMinusNatS2(Zero, Zero) new_primMinusNatS1 We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (663) 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_primMinusNatS0(vuz32000), Zero) Strictly oriented rules of the TRS R: new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero Used ordering: Polynomial interpretation [POLO]: POL(Succ(x_1)) = 1 + x_1 POL(Zero) = 2 POL(new_primDivNatS(x_1, x_2)) = x_1 + x_2 POL(new_primMinusNatS0(x_1)) = 1 + x_1 POL(new_primMinusNatS1) = 2 POL(new_primMinusNatS2(x_1, x_2)) = 1 + 2*x_1 + 2*x_2 ---------------------------------------- (664) Obligation: Q DP problem: P is empty. The TRS R consists of the following rules: new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz32000) -> Succ(vuz32000) The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS0(x0) new_primMinusNatS2(Succ(x0), Zero) new_primMinusNatS2(Zero, Zero) new_primMinusNatS1 We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (665) PisEmptyProof (EQUIVALENT) The TRS P is empty. Hence, there is no (P,Q,R) chain. ---------------------------------------- (666) YES ---------------------------------------- (667) Obligation: Q DP problem: The TRS P consists of the following rules: new_primDivNatS0(vuz97, vuz98, Zero, Zero) -> new_primDivNatS00(vuz97, vuz98) new_primDivNatS00(vuz97, vuz98) -> new_primDivNatS(new_primMinusNatS2(vuz97, vuz98), Succ(vuz98)) new_primDivNatS(Succ(Succ(vuz32000)), Succ(vuz65000)) -> new_primDivNatS0(vuz32000, vuz65000, vuz32000, vuz65000) new_primDivNatS0(vuz97, vuz98, Succ(vuz990), Succ(vuz1000)) -> new_primDivNatS0(vuz97, vuz98, vuz990, vuz1000) new_primDivNatS0(vuz97, vuz98, Succ(vuz990), Zero) -> new_primDivNatS(new_primMinusNatS2(vuz97, vuz98), Succ(vuz98)) The TRS R consists of the following rules: new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero new_primMinusNatS0(vuz32000) -> Succ(vuz32000) The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS0(x0) new_primMinusNatS2(Succ(x0), Zero) new_primMinusNatS2(Zero, Zero) new_primMinusNatS1 We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (668) QDPSizeChangeProof (EQUIVALENT) We used the following order together with the size-change analysis [AAECC05] to show that there are no infinite chains for this DP problem. Order:Polynomial interpretation [POLO]: POL(Succ(x_1)) = 1 + x_1 POL(Zero) = 1 POL(new_primMinusNatS2(x_1, x_2)) = x_1 From the DPs we obtained the following set of size-change graphs: *new_primDivNatS00(vuz97, vuz98) -> new_primDivNatS(new_primMinusNatS2(vuz97, vuz98), Succ(vuz98)) (allowed arguments on rhs = {1, 2}) The graph contains the following edges 1 >= 1 *new_primDivNatS(Succ(Succ(vuz32000)), Succ(vuz65000)) -> new_primDivNatS0(vuz32000, vuz65000, vuz32000, vuz65000) (allowed arguments on rhs = {1, 2, 3, 4}) The graph contains the following edges 1 > 1, 2 > 2, 1 > 3, 2 > 4 *new_primDivNatS0(vuz97, vuz98, Succ(vuz990), Succ(vuz1000)) -> new_primDivNatS0(vuz97, vuz98, vuz990, vuz1000) (allowed arguments on rhs = {1, 2, 3, 4}) The graph contains the following edges 1 >= 1, 2 >= 2, 3 > 3, 4 > 4 *new_primDivNatS0(vuz97, vuz98, Zero, Zero) -> new_primDivNatS00(vuz97, vuz98) (allowed arguments on rhs = {1, 2}) The graph contains the following edges 1 >= 1, 2 >= 2 *new_primDivNatS0(vuz97, vuz98, Succ(vuz990), Zero) -> new_primDivNatS(new_primMinusNatS2(vuz97, vuz98), Succ(vuz98)) (allowed arguments on rhs = {1, 2}) The graph contains the following edges 1 >= 1 We oriented the following set of usable rules [AAECC05,FROCOS05]. new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) ---------------------------------------- (669) YES ---------------------------------------- (670) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(vuz102, vuz109) -> new_gcd0Gcd'(vuz109, vuz102) new_gcd0Gcd'(vuz102, vuz104) -> new_gcd0Gcd'1(new_esEs(new_rem(vuz104, vuz102)), vuz102, vuz104) new_gcd0Gcd'1(False, vuz102, vuz104) -> new_gcd0Gcd'0(vuz102, new_rem(vuz104, vuz102)) 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_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primMinusNatS0(vuz32000) -> Succ(vuz32000) new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error new_primModNatS01(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error new_primModNatS1(Zero, vuz7400) -> Zero new_esEs(Integer(Pos(Succ(vuz106000)))) -> False new_rem(Integer(vuz1040), Integer(vuz1020)) -> Integer(new_primRemInt(vuz1040, vuz1020)) new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero new_error -> error([]) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS02(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_esEs(Integer(Neg(Zero))) -> True new_primModNatS02(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_esEs(Integer(Pos(Zero))) -> True new_esEs(Integer(Neg(Succ(vuz106000)))) -> False new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error new_primModNatS02(vuz130, vuz131, Zero, Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS02(vuz75000, vuz74000, vuz75000, vuz74000) The set Q consists of the following terms: new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primMinusNatS1 new_esEs(Integer(Pos(Zero))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_esEs(Integer(Neg(Succ(x0)))) new_primMinusNatS2(Succ(x0), Zero) new_primMinusNatS2(Zero, Zero) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Integer(x0), Integer(x1)) new_primModNatS02(x0, x1, Zero, 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) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_esEs(Integer(Neg(Zero))) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_esEs(Integer(Pos(Succ(x0)))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (671) MNOCProof (EQUIVALENT) We use the modular non-overlap check [FROCOS05] to decrease Q to the empty set. ---------------------------------------- (672) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(vuz102, vuz109) -> new_gcd0Gcd'(vuz109, vuz102) new_gcd0Gcd'(vuz102, vuz104) -> new_gcd0Gcd'1(new_esEs(new_rem(vuz104, vuz102)), vuz102, vuz104) new_gcd0Gcd'1(False, vuz102, vuz104) -> new_gcd0Gcd'0(vuz102, new_rem(vuz104, vuz102)) 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_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primMinusNatS0(vuz32000) -> Succ(vuz32000) new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error new_primModNatS01(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error new_primModNatS1(Zero, vuz7400) -> Zero new_esEs(Integer(Pos(Succ(vuz106000)))) -> False new_rem(Integer(vuz1040), Integer(vuz1020)) -> Integer(new_primRemInt(vuz1040, vuz1020)) new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero new_error -> error([]) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS02(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_esEs(Integer(Neg(Zero))) -> True new_primModNatS02(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_esEs(Integer(Pos(Zero))) -> True new_esEs(Integer(Neg(Succ(vuz106000)))) -> False new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error new_primModNatS02(vuz130, vuz131, Zero, Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS02(vuz75000, vuz74000, vuz75000, vuz74000) Q is empty. We have to consider all (P,Q,R)-chains. ---------------------------------------- (673) InductionCalculusProof (EQUIVALENT) Note that final constraints are written in bold face. For Pair new_gcd0Gcd'0(vuz102, vuz109) -> new_gcd0Gcd'(vuz109, vuz102) the following chains were created: *We consider the chain new_gcd0Gcd'0(x2, x3) -> new_gcd0Gcd'(x3, x2), new_gcd0Gcd'(x4, x5) -> new_gcd0Gcd'1(new_esEs(new_rem(x5, x4)), x4, x5) which results in the following constraint: (1) (new_gcd0Gcd'(x3, x2)=new_gcd0Gcd'(x4, x5) ==> new_gcd0Gcd'0(x2, x3)_>=_new_gcd0Gcd'(x3, x2)) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (new_gcd0Gcd'0(x2, x3)_>=_new_gcd0Gcd'(x3, x2)) For Pair new_gcd0Gcd'(vuz102, vuz104) -> new_gcd0Gcd'1(new_esEs(new_rem(vuz104, vuz102)), vuz102, vuz104) the following chains were created: *We consider the chain new_gcd0Gcd'(x12, x13) -> new_gcd0Gcd'1(new_esEs(new_rem(x13, x12)), x12, x13), new_gcd0Gcd'1(False, x14, x15) -> new_gcd0Gcd'0(x14, new_rem(x15, x14)) which results in the following constraint: (1) (new_gcd0Gcd'1(new_esEs(new_rem(x13, x12)), x12, x13)=new_gcd0Gcd'1(False, x14, x15) ==> new_gcd0Gcd'(x12, x13)_>=_new_gcd0Gcd'1(new_esEs(new_rem(x13, x12)), x12, x13)) We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: (2) (new_rem(x13, x12)=x24 & new_esEs(x24)=False ==> new_gcd0Gcd'(x12, x13)_>=_new_gcd0Gcd'1(new_esEs(new_rem(x13, x12)), x12, x13)) We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_esEs(x24)=False which results in the following new constraints: (3) (False=False & new_rem(x13, x12)=Integer(Pos(Succ(x25))) ==> new_gcd0Gcd'(x12, x13)_>=_new_gcd0Gcd'1(new_esEs(new_rem(x13, x12)), x12, x13)) (4) (False=False & new_rem(x13, x12)=Integer(Neg(Succ(x26))) ==> new_gcd0Gcd'(x12, x13)_>=_new_gcd0Gcd'1(new_esEs(new_rem(x13, x12)), x12, x13)) We simplified constraint (3) using rules (I), (II) which results in the following new constraint: (5) (new_rem(x13, x12)=Integer(Pos(Succ(x25))) ==> new_gcd0Gcd'(x12, x13)_>=_new_gcd0Gcd'1(new_esEs(new_rem(x13, x12)), x12, x13)) We simplified constraint (4) using rules (I), (II) which results in the following new constraint: (6) (new_rem(x13, x12)=Integer(Neg(Succ(x26))) ==> new_gcd0Gcd'(x12, x13)_>=_new_gcd0Gcd'1(new_esEs(new_rem(x13, x12)), x12, x13)) We simplified constraint (5) using rule (V) (with possible (I) afterwards) using induction on new_rem(x13, x12)=Integer(Pos(Succ(x25))) which results in the following new constraint: (7) (Integer(new_primRemInt(x28, x27))=Integer(Pos(Succ(x25))) ==> new_gcd0Gcd'(Integer(x27), Integer(x28))_>=_new_gcd0Gcd'1(new_esEs(new_rem(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)=Pos(Succ(x25)) ==> new_gcd0Gcd'(Integer(x27), Integer(x28))_>=_new_gcd0Gcd'1(new_esEs(new_rem(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)=Pos(Succ(x25)) which results in the following new constraints: (9) (Pos(new_primModNatS1(x30, x29))=Pos(Succ(x25)) ==> new_gcd0Gcd'(Integer(Neg(Succ(x29))), Integer(Pos(x30)))_>=_new_gcd0Gcd'1(new_esEs(new_rem(Integer(Pos(x30)), Integer(Neg(Succ(x29))))), Integer(Neg(Succ(x29))), Integer(Pos(x30)))) (10) (Pos(new_primModNatS1(x32, x31))=Pos(Succ(x25)) ==> new_gcd0Gcd'(Integer(Pos(Succ(x31))), Integer(Pos(x32)))_>=_new_gcd0Gcd'1(new_esEs(new_rem(Integer(Pos(x32)), Integer(Pos(Succ(x31))))), Integer(Pos(Succ(x31))), Integer(Pos(x32)))) (11) (new_error=Pos(Succ(x25)) ==> new_gcd0Gcd'(Integer(Neg(Zero)), Integer(Neg(x33)))_>=_new_gcd0Gcd'1(new_esEs(new_rem(Integer(Neg(x33)), Integer(Neg(Zero)))), Integer(Neg(Zero)), Integer(Neg(x33)))) (12) (new_error=Pos(Succ(x25)) ==> new_gcd0Gcd'(Integer(Pos(Zero)), Integer(Pos(x36)))_>=_new_gcd0Gcd'1(new_esEs(new_rem(Integer(Pos(x36)), Integer(Pos(Zero)))), Integer(Pos(Zero)), Integer(Pos(x36)))) (13) (new_error=Pos(Succ(x25)) ==> new_gcd0Gcd'(Integer(Neg(Zero)), Integer(Pos(x39)))_>=_new_gcd0Gcd'1(new_esEs(new_rem(Integer(Pos(x39)), Integer(Neg(Zero)))), Integer(Neg(Zero)), Integer(Pos(x39)))) (14) (new_error=Pos(Succ(x25)) ==> new_gcd0Gcd'(Integer(Pos(Zero)), Integer(Neg(x40)))_>=_new_gcd0Gcd'1(new_esEs(new_rem(Integer(Neg(x40)), Integer(Pos(Zero)))), Integer(Pos(Zero)), Integer(Neg(x40)))) We simplified constraint (9) using rules (I), (II), (IV) which results in the following new constraint: (15) (new_gcd0Gcd'(Integer(Neg(Succ(x29))), Integer(Pos(x30)))_>=_new_gcd0Gcd'1(new_esEs(new_rem(Integer(Pos(x30)), Integer(Neg(Succ(x29))))), Integer(Neg(Succ(x29))), Integer(Pos(x30)))) We simplified constraint (10) using rules (I), (II), (IV) which results in the following new constraint: (16) (new_gcd0Gcd'(Integer(Pos(Succ(x31))), Integer(Pos(x32)))_>=_new_gcd0Gcd'1(new_esEs(new_rem(Integer(Pos(x32)), Integer(Pos(Succ(x31))))), Integer(Pos(Succ(x31))), Integer(Pos(x32)))) We simplified constraint (11) using rule (IV) which results in the following new constraint: (17) (new_gcd0Gcd'(Integer(Neg(Zero)), Integer(Neg(x33)))_>=_new_gcd0Gcd'1(new_esEs(new_rem(Integer(Neg(x33)), Integer(Neg(Zero)))), Integer(Neg(Zero)), Integer(Neg(x33)))) We simplified constraint (12) using rule (IV) which results in the following new constraint: (18) (new_gcd0Gcd'(Integer(Pos(Zero)), Integer(Pos(x36)))_>=_new_gcd0Gcd'1(new_esEs(new_rem(Integer(Pos(x36)), Integer(Pos(Zero)))), Integer(Pos(Zero)), Integer(Pos(x36)))) 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'1(new_esEs(new_rem(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'1(new_esEs(new_rem(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_rem(x13, x12)=Integer(Neg(Succ(x26))) which results in the following new constraint: (21) (Integer(new_primRemInt(x42, x41))=Integer(Neg(Succ(x26))) ==> new_gcd0Gcd'(Integer(x41), Integer(x42))_>=_new_gcd0Gcd'1(new_esEs(new_rem(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)=Neg(Succ(x26)) ==> new_gcd0Gcd'(Integer(x41), Integer(x42))_>=_new_gcd0Gcd'1(new_esEs(new_rem(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)=Neg(Succ(x26)) which results in the following new constraints: (23) (new_error=Neg(Succ(x26)) ==> new_gcd0Gcd'(Integer(Neg(Zero)), Integer(Neg(x47)))_>=_new_gcd0Gcd'1(new_esEs(new_rem(Integer(Neg(x47)), Integer(Neg(Zero)))), Integer(Neg(Zero)), Integer(Neg(x47)))) (24) (Neg(new_primModNatS1(x49, x48))=Neg(Succ(x26)) ==> new_gcd0Gcd'(Integer(Pos(Succ(x48))), Integer(Neg(x49)))_>=_new_gcd0Gcd'1(new_esEs(new_rem(Integer(Neg(x49)), Integer(Pos(Succ(x48))))), Integer(Pos(Succ(x48))), Integer(Neg(x49)))) (25) (new_error=Neg(Succ(x26)) ==> new_gcd0Gcd'(Integer(Pos(Zero)), Integer(Pos(x50)))_>=_new_gcd0Gcd'1(new_esEs(new_rem(Integer(Pos(x50)), Integer(Pos(Zero)))), Integer(Pos(Zero)), Integer(Pos(x50)))) (26) (Neg(new_primModNatS1(x52, x51))=Neg(Succ(x26)) ==> new_gcd0Gcd'(Integer(Neg(Succ(x51))), Integer(Neg(x52)))_>=_new_gcd0Gcd'1(new_esEs(new_rem(Integer(Neg(x52)), Integer(Neg(Succ(x51))))), Integer(Neg(Succ(x51))), Integer(Neg(x52)))) (27) (new_error=Neg(Succ(x26)) ==> new_gcd0Gcd'(Integer(Neg(Zero)), Integer(Pos(x53)))_>=_new_gcd0Gcd'1(new_esEs(new_rem(Integer(Pos(x53)), Integer(Neg(Zero)))), Integer(Neg(Zero)), Integer(Pos(x53)))) (28) (new_error=Neg(Succ(x26)) ==> new_gcd0Gcd'(Integer(Pos(Zero)), Integer(Neg(x54)))_>=_new_gcd0Gcd'1(new_esEs(new_rem(Integer(Neg(x54)), Integer(Pos(Zero)))), Integer(Pos(Zero)), Integer(Neg(x54)))) We simplified constraint (23) using rule (IV) which results in the following new constraint: (29) (new_gcd0Gcd'(Integer(Neg(Zero)), Integer(Neg(x47)))_>=_new_gcd0Gcd'1(new_esEs(new_rem(Integer(Neg(x47)), Integer(Neg(Zero)))), Integer(Neg(Zero)), Integer(Neg(x47)))) We simplified constraint (24) using rules (I), (II), (IV) which results in the following new constraint: (30) (new_gcd0Gcd'(Integer(Pos(Succ(x48))), Integer(Neg(x49)))_>=_new_gcd0Gcd'1(new_esEs(new_rem(Integer(Neg(x49)), Integer(Pos(Succ(x48))))), Integer(Pos(Succ(x48))), Integer(Neg(x49)))) We simplified constraint (25) using rule (IV) which results in the following new constraint: (31) (new_gcd0Gcd'(Integer(Pos(Zero)), Integer(Pos(x50)))_>=_new_gcd0Gcd'1(new_esEs(new_rem(Integer(Pos(x50)), Integer(Pos(Zero)))), Integer(Pos(Zero)), Integer(Pos(x50)))) We simplified constraint (26) using rules (I), (II), (IV) which results in the following new constraint: (32) (new_gcd0Gcd'(Integer(Neg(Succ(x51))), Integer(Neg(x52)))_>=_new_gcd0Gcd'1(new_esEs(new_rem(Integer(Neg(x52)), Integer(Neg(Succ(x51))))), Integer(Neg(Succ(x51))), Integer(Neg(x52)))) 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'1(new_esEs(new_rem(Integer(Pos(x53)), Integer(Neg(Zero)))), Integer(Neg(Zero)), Integer(Pos(x53)))) We solved constraint (28) using rule (IV). For Pair new_gcd0Gcd'1(False, vuz102, vuz104) -> new_gcd0Gcd'0(vuz102, new_rem(vuz104, vuz102)) the following chains were created: *We consider the chain new_gcd0Gcd'1(False, x16, x17) -> new_gcd0Gcd'0(x16, new_rem(x17, x16)), new_gcd0Gcd'0(x18, x19) -> new_gcd0Gcd'(x19, x18) which results in the following constraint: (1) (new_gcd0Gcd'0(x16, new_rem(x17, x16))=new_gcd0Gcd'0(x18, x19) ==> new_gcd0Gcd'1(False, x16, x17)_>=_new_gcd0Gcd'0(x16, new_rem(x17, x16))) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (new_gcd0Gcd'1(False, x16, x17)_>=_new_gcd0Gcd'0(x16, new_rem(x17, x16))) To summarize, we get the following constraints P__>=_ for the following pairs. *new_gcd0Gcd'0(vuz102, vuz109) -> new_gcd0Gcd'(vuz109, vuz102) *(new_gcd0Gcd'0(x2, x3)_>=_new_gcd0Gcd'(x3, x2)) *new_gcd0Gcd'(vuz102, vuz104) -> new_gcd0Gcd'1(new_esEs(new_rem(vuz104, vuz102)), vuz102, vuz104) *(new_gcd0Gcd'(Integer(Neg(Succ(x29))), Integer(Pos(x30)))_>=_new_gcd0Gcd'1(new_esEs(new_rem(Integer(Pos(x30)), Integer(Neg(Succ(x29))))), Integer(Neg(Succ(x29))), Integer(Pos(x30)))) *(new_gcd0Gcd'(Integer(Pos(Succ(x31))), Integer(Pos(x32)))_>=_new_gcd0Gcd'1(new_esEs(new_rem(Integer(Pos(x32)), Integer(Pos(Succ(x31))))), Integer(Pos(Succ(x31))), Integer(Pos(x32)))) *(new_gcd0Gcd'(Integer(Neg(Zero)), Integer(Neg(x33)))_>=_new_gcd0Gcd'1(new_esEs(new_rem(Integer(Neg(x33)), Integer(Neg(Zero)))), Integer(Neg(Zero)), Integer(Neg(x33)))) *(new_gcd0Gcd'(Integer(Pos(Zero)), Integer(Pos(x36)))_>=_new_gcd0Gcd'1(new_esEs(new_rem(Integer(Pos(x36)), Integer(Pos(Zero)))), Integer(Pos(Zero)), Integer(Pos(x36)))) *(new_gcd0Gcd'(Integer(Neg(Zero)), Integer(Pos(x39)))_>=_new_gcd0Gcd'1(new_esEs(new_rem(Integer(Pos(x39)), Integer(Neg(Zero)))), Integer(Neg(Zero)), Integer(Pos(x39)))) *(new_gcd0Gcd'(Integer(Pos(Zero)), Integer(Neg(x40)))_>=_new_gcd0Gcd'1(new_esEs(new_rem(Integer(Neg(x40)), Integer(Pos(Zero)))), Integer(Pos(Zero)), Integer(Neg(x40)))) *(new_gcd0Gcd'(Integer(Neg(Zero)), Integer(Neg(x47)))_>=_new_gcd0Gcd'1(new_esEs(new_rem(Integer(Neg(x47)), Integer(Neg(Zero)))), Integer(Neg(Zero)), Integer(Neg(x47)))) *(new_gcd0Gcd'(Integer(Pos(Succ(x48))), Integer(Neg(x49)))_>=_new_gcd0Gcd'1(new_esEs(new_rem(Integer(Neg(x49)), Integer(Pos(Succ(x48))))), Integer(Pos(Succ(x48))), Integer(Neg(x49)))) *(new_gcd0Gcd'(Integer(Pos(Zero)), Integer(Pos(x50)))_>=_new_gcd0Gcd'1(new_esEs(new_rem(Integer(Pos(x50)), Integer(Pos(Zero)))), Integer(Pos(Zero)), Integer(Pos(x50)))) *(new_gcd0Gcd'(Integer(Neg(Succ(x51))), Integer(Neg(x52)))_>=_new_gcd0Gcd'1(new_esEs(new_rem(Integer(Neg(x52)), Integer(Neg(Succ(x51))))), Integer(Neg(Succ(x51))), Integer(Neg(x52)))) *(new_gcd0Gcd'(Integer(Neg(Zero)), Integer(Pos(x53)))_>=_new_gcd0Gcd'1(new_esEs(new_rem(Integer(Pos(x53)), Integer(Neg(Zero)))), Integer(Neg(Zero)), Integer(Pos(x53)))) *new_gcd0Gcd'1(False, vuz102, vuz104) -> new_gcd0Gcd'0(vuz102, new_rem(vuz104, vuz102)) *(new_gcd0Gcd'1(False, x16, x17)_>=_new_gcd0Gcd'0(x16, new_rem(x17, x16))) 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. ---------------------------------------- (674) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(vuz102, vuz109) -> new_gcd0Gcd'(vuz109, vuz102) new_gcd0Gcd'(vuz102, vuz104) -> new_gcd0Gcd'1(new_esEs(new_rem(vuz104, vuz102)), vuz102, vuz104) new_gcd0Gcd'1(False, vuz102, vuz104) -> new_gcd0Gcd'0(vuz102, new_rem(vuz104, vuz102)) 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_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primMinusNatS0(vuz32000) -> Succ(vuz32000) new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error new_primModNatS01(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error new_primModNatS1(Zero, vuz7400) -> Zero new_esEs(Integer(Pos(Succ(vuz106000)))) -> False new_rem(Integer(vuz1040), Integer(vuz1020)) -> Integer(new_primRemInt(vuz1040, vuz1020)) new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero new_error -> error([]) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS02(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_esEs(Integer(Neg(Zero))) -> True new_primModNatS02(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_esEs(Integer(Pos(Zero))) -> True new_esEs(Integer(Neg(Succ(vuz106000)))) -> False new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error new_primModNatS02(vuz130, vuz131, Zero, Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS02(vuz75000, vuz74000, vuz75000, vuz74000) The set Q consists of the following terms: new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primMinusNatS1 new_esEs(Integer(Pos(Zero))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_esEs(Integer(Neg(Succ(x0)))) new_primMinusNatS2(Succ(x0), Zero) new_primMinusNatS2(Zero, Zero) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Integer(x0), Integer(x1)) new_primModNatS02(x0, x1, Zero, 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) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_esEs(Integer(Neg(Zero))) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_esEs(Integer(Pos(Succ(x0)))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (675) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_gcd0Gcd'(vuz102, vuz104) -> new_gcd0Gcd'1(new_esEs(new_rem(vuz104, vuz102)), vuz102, vuz104) at position [0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Integer(x1), Integer(x0)) -> new_gcd0Gcd'1(new_esEs(Integer(new_primRemInt(x0, x1))), Integer(x1), Integer(x0)),new_gcd0Gcd'(Integer(x1), Integer(x0)) -> new_gcd0Gcd'1(new_esEs(Integer(new_primRemInt(x0, x1))), Integer(x1), Integer(x0))) ---------------------------------------- (676) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(vuz102, vuz109) -> new_gcd0Gcd'(vuz109, vuz102) new_gcd0Gcd'1(False, vuz102, vuz104) -> new_gcd0Gcd'0(vuz102, new_rem(vuz104, vuz102)) new_gcd0Gcd'(Integer(x1), Integer(x0)) -> new_gcd0Gcd'1(new_esEs(Integer(new_primRemInt(x0, x1))), Integer(x1), Integer(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_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primMinusNatS0(vuz32000) -> Succ(vuz32000) new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error new_primModNatS01(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error new_primModNatS1(Zero, vuz7400) -> Zero new_esEs(Integer(Pos(Succ(vuz106000)))) -> False new_rem(Integer(vuz1040), Integer(vuz1020)) -> Integer(new_primRemInt(vuz1040, vuz1020)) new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero new_error -> error([]) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS02(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_esEs(Integer(Neg(Zero))) -> True new_primModNatS02(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_esEs(Integer(Pos(Zero))) -> True new_esEs(Integer(Neg(Succ(vuz106000)))) -> False new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error new_primModNatS02(vuz130, vuz131, Zero, Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS02(vuz75000, vuz74000, vuz75000, vuz74000) The set Q consists of the following terms: new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primMinusNatS1 new_esEs(Integer(Pos(Zero))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_esEs(Integer(Neg(Succ(x0)))) new_primMinusNatS2(Succ(x0), Zero) new_primMinusNatS2(Zero, Zero) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Integer(x0), Integer(x1)) new_primModNatS02(x0, x1, Zero, 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) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_esEs(Integer(Neg(Zero))) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_esEs(Integer(Pos(Succ(x0)))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (677) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_gcd0Gcd'(Integer(x1), Integer(x0)) -> new_gcd0Gcd'1(new_esEs(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'1(new_esEs(Integer(Pos(new_primModNatS1(x0, x1)))), Integer(Neg(Succ(x1))), Integer(Pos(x0))),new_gcd0Gcd'(Integer(Neg(Succ(x1))), Integer(Pos(x0))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(x0, x1)))), Integer(Neg(Succ(x1))), Integer(Pos(x0)))) (new_gcd0Gcd'(Integer(Pos(Succ(x1))), Integer(Pos(x0))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(x0, x1)))), Integer(Pos(Succ(x1))), Integer(Pos(x0))),new_gcd0Gcd'(Integer(Pos(Succ(x1))), Integer(Pos(x0))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(x0, x1)))), Integer(Pos(Succ(x1))), Integer(Pos(x0)))) (new_gcd0Gcd'(Integer(Neg(Zero)), Integer(Neg(x0))) -> new_gcd0Gcd'1(new_esEs(Integer(new_error)), Integer(Neg(Zero)), Integer(Neg(x0))),new_gcd0Gcd'(Integer(Neg(Zero)), Integer(Neg(x0))) -> new_gcd0Gcd'1(new_esEs(Integer(new_error)), Integer(Neg(Zero)), Integer(Neg(x0)))) (new_gcd0Gcd'(Integer(Pos(Succ(x1))), Integer(Neg(x0))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(x0, x1)))), Integer(Pos(Succ(x1))), Integer(Neg(x0))),new_gcd0Gcd'(Integer(Pos(Succ(x1))), Integer(Neg(x0))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(x0, x1)))), Integer(Pos(Succ(x1))), Integer(Neg(x0)))) (new_gcd0Gcd'(Integer(Pos(Zero)), Integer(Pos(x0))) -> new_gcd0Gcd'1(new_esEs(Integer(new_error)), Integer(Pos(Zero)), Integer(Pos(x0))),new_gcd0Gcd'(Integer(Pos(Zero)), Integer(Pos(x0))) -> new_gcd0Gcd'1(new_esEs(Integer(new_error)), Integer(Pos(Zero)), Integer(Pos(x0)))) (new_gcd0Gcd'(Integer(Neg(Succ(x1))), Integer(Neg(x0))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(x0, x1)))), Integer(Neg(Succ(x1))), Integer(Neg(x0))),new_gcd0Gcd'(Integer(Neg(Succ(x1))), Integer(Neg(x0))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(x0, x1)))), Integer(Neg(Succ(x1))), Integer(Neg(x0)))) (new_gcd0Gcd'(Integer(Neg(Zero)), Integer(Pos(x0))) -> new_gcd0Gcd'1(new_esEs(Integer(new_error)), Integer(Neg(Zero)), Integer(Pos(x0))),new_gcd0Gcd'(Integer(Neg(Zero)), Integer(Pos(x0))) -> new_gcd0Gcd'1(new_esEs(Integer(new_error)), Integer(Neg(Zero)), Integer(Pos(x0)))) (new_gcd0Gcd'(Integer(Pos(Zero)), Integer(Neg(x0))) -> new_gcd0Gcd'1(new_esEs(Integer(new_error)), Integer(Pos(Zero)), Integer(Neg(x0))),new_gcd0Gcd'(Integer(Pos(Zero)), Integer(Neg(x0))) -> new_gcd0Gcd'1(new_esEs(Integer(new_error)), Integer(Pos(Zero)), Integer(Neg(x0)))) ---------------------------------------- (678) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(vuz102, vuz109) -> new_gcd0Gcd'(vuz109, vuz102) new_gcd0Gcd'1(False, vuz102, vuz104) -> new_gcd0Gcd'0(vuz102, new_rem(vuz104, vuz102)) new_gcd0Gcd'(Integer(Neg(Succ(x1))), Integer(Pos(x0))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(x0, x1)))), Integer(Neg(Succ(x1))), Integer(Pos(x0))) new_gcd0Gcd'(Integer(Pos(Succ(x1))), Integer(Pos(x0))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(x0, x1)))), Integer(Pos(Succ(x1))), Integer(Pos(x0))) new_gcd0Gcd'(Integer(Neg(Zero)), Integer(Neg(x0))) -> new_gcd0Gcd'1(new_esEs(Integer(new_error)), Integer(Neg(Zero)), Integer(Neg(x0))) new_gcd0Gcd'(Integer(Pos(Succ(x1))), Integer(Neg(x0))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(x0, x1)))), Integer(Pos(Succ(x1))), Integer(Neg(x0))) new_gcd0Gcd'(Integer(Pos(Zero)), Integer(Pos(x0))) -> new_gcd0Gcd'1(new_esEs(Integer(new_error)), Integer(Pos(Zero)), Integer(Pos(x0))) new_gcd0Gcd'(Integer(Neg(Succ(x1))), Integer(Neg(x0))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(x0, x1)))), Integer(Neg(Succ(x1))), Integer(Neg(x0))) new_gcd0Gcd'(Integer(Neg(Zero)), Integer(Pos(x0))) -> new_gcd0Gcd'1(new_esEs(Integer(new_error)), Integer(Neg(Zero)), Integer(Pos(x0))) new_gcd0Gcd'(Integer(Pos(Zero)), Integer(Neg(x0))) -> new_gcd0Gcd'1(new_esEs(Integer(new_error)), Integer(Pos(Zero)), Integer(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_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primMinusNatS0(vuz32000) -> Succ(vuz32000) new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error new_primModNatS01(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error new_primModNatS1(Zero, vuz7400) -> Zero new_esEs(Integer(Pos(Succ(vuz106000)))) -> False new_rem(Integer(vuz1040), Integer(vuz1020)) -> Integer(new_primRemInt(vuz1040, vuz1020)) new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero new_error -> error([]) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS02(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_esEs(Integer(Neg(Zero))) -> True new_primModNatS02(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_esEs(Integer(Pos(Zero))) -> True new_esEs(Integer(Neg(Succ(vuz106000)))) -> False new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error new_primModNatS02(vuz130, vuz131, Zero, Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS02(vuz75000, vuz74000, vuz75000, vuz74000) The set Q consists of the following terms: new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primMinusNatS1 new_esEs(Integer(Pos(Zero))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_esEs(Integer(Neg(Succ(x0)))) new_primMinusNatS2(Succ(x0), Zero) new_primMinusNatS2(Zero, Zero) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Integer(x0), Integer(x1)) new_primModNatS02(x0, x1, Zero, 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) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_esEs(Integer(Neg(Zero))) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_esEs(Integer(Pos(Succ(x0)))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) 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(Neg(Zero)), Integer(Neg(x0))) -> new_gcd0Gcd'1(new_esEs(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'1(new_esEs(Integer(error([]))), Integer(Neg(Zero)), Integer(Neg(x0))),new_gcd0Gcd'(Integer(Neg(Zero)), Integer(Neg(x0))) -> new_gcd0Gcd'1(new_esEs(Integer(error([]))), Integer(Neg(Zero)), Integer(Neg(x0)))) ---------------------------------------- (680) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(vuz102, vuz109) -> new_gcd0Gcd'(vuz109, vuz102) new_gcd0Gcd'1(False, vuz102, vuz104) -> new_gcd0Gcd'0(vuz102, new_rem(vuz104, vuz102)) new_gcd0Gcd'(Integer(Neg(Succ(x1))), Integer(Pos(x0))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(x0, x1)))), Integer(Neg(Succ(x1))), Integer(Pos(x0))) new_gcd0Gcd'(Integer(Pos(Succ(x1))), Integer(Pos(x0))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(x0, x1)))), Integer(Pos(Succ(x1))), Integer(Pos(x0))) new_gcd0Gcd'(Integer(Pos(Succ(x1))), Integer(Neg(x0))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(x0, x1)))), Integer(Pos(Succ(x1))), Integer(Neg(x0))) new_gcd0Gcd'(Integer(Pos(Zero)), Integer(Pos(x0))) -> new_gcd0Gcd'1(new_esEs(Integer(new_error)), Integer(Pos(Zero)), Integer(Pos(x0))) new_gcd0Gcd'(Integer(Neg(Succ(x1))), Integer(Neg(x0))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(x0, x1)))), Integer(Neg(Succ(x1))), Integer(Neg(x0))) new_gcd0Gcd'(Integer(Neg(Zero)), Integer(Pos(x0))) -> new_gcd0Gcd'1(new_esEs(Integer(new_error)), Integer(Neg(Zero)), Integer(Pos(x0))) new_gcd0Gcd'(Integer(Pos(Zero)), Integer(Neg(x0))) -> new_gcd0Gcd'1(new_esEs(Integer(new_error)), Integer(Pos(Zero)), Integer(Neg(x0))) new_gcd0Gcd'(Integer(Neg(Zero)), Integer(Neg(x0))) -> new_gcd0Gcd'1(new_esEs(Integer(error([]))), Integer(Neg(Zero)), Integer(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_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primMinusNatS0(vuz32000) -> Succ(vuz32000) new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error new_primModNatS01(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error new_primModNatS1(Zero, vuz7400) -> Zero new_esEs(Integer(Pos(Succ(vuz106000)))) -> False new_rem(Integer(vuz1040), Integer(vuz1020)) -> Integer(new_primRemInt(vuz1040, vuz1020)) new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero new_error -> error([]) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS02(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_esEs(Integer(Neg(Zero))) -> True new_primModNatS02(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_esEs(Integer(Pos(Zero))) -> True new_esEs(Integer(Neg(Succ(vuz106000)))) -> False new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error new_primModNatS02(vuz130, vuz131, Zero, Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS02(vuz75000, vuz74000, vuz75000, vuz74000) The set Q consists of the following terms: new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primMinusNatS1 new_esEs(Integer(Pos(Zero))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_esEs(Integer(Neg(Succ(x0)))) new_primMinusNatS2(Succ(x0), Zero) new_primMinusNatS2(Zero, Zero) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Integer(x0), Integer(x1)) new_primModNatS02(x0, x1, Zero, 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) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_esEs(Integer(Neg(Zero))) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_esEs(Integer(Pos(Succ(x0)))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) 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'(Integer(Neg(Succ(x1))), Integer(Pos(x0))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(x0, x1)))), Integer(Neg(Succ(x1))), Integer(Pos(x0))) new_gcd0Gcd'1(False, vuz102, vuz104) -> new_gcd0Gcd'0(vuz102, new_rem(vuz104, vuz102)) new_gcd0Gcd'0(vuz102, vuz109) -> new_gcd0Gcd'(vuz109, vuz102) new_gcd0Gcd'(Integer(Pos(Succ(x1))), Integer(Pos(x0))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(x0, x1)))), Integer(Pos(Succ(x1))), Integer(Pos(x0))) new_gcd0Gcd'(Integer(Pos(Succ(x1))), Integer(Neg(x0))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(x0, x1)))), Integer(Pos(Succ(x1))), Integer(Neg(x0))) new_gcd0Gcd'(Integer(Pos(Zero)), Integer(Pos(x0))) -> new_gcd0Gcd'1(new_esEs(Integer(new_error)), Integer(Pos(Zero)), Integer(Pos(x0))) new_gcd0Gcd'(Integer(Neg(Succ(x1))), Integer(Neg(x0))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(x0, x1)))), Integer(Neg(Succ(x1))), Integer(Neg(x0))) new_gcd0Gcd'(Integer(Neg(Zero)), Integer(Pos(x0))) -> new_gcd0Gcd'1(new_esEs(Integer(new_error)), Integer(Neg(Zero)), Integer(Pos(x0))) new_gcd0Gcd'(Integer(Pos(Zero)), Integer(Neg(x0))) -> new_gcd0Gcd'1(new_esEs(Integer(new_error)), Integer(Pos(Zero)), Integer(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_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primMinusNatS0(vuz32000) -> Succ(vuz32000) new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error new_primModNatS01(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error new_primModNatS1(Zero, vuz7400) -> Zero new_esEs(Integer(Pos(Succ(vuz106000)))) -> False new_rem(Integer(vuz1040), Integer(vuz1020)) -> Integer(new_primRemInt(vuz1040, vuz1020)) new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero new_error -> error([]) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS02(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_esEs(Integer(Neg(Zero))) -> True new_primModNatS02(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_esEs(Integer(Pos(Zero))) -> True new_esEs(Integer(Neg(Succ(vuz106000)))) -> False new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error new_primModNatS02(vuz130, vuz131, Zero, Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS02(vuz75000, vuz74000, vuz75000, vuz74000) The set Q consists of the following terms: new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primMinusNatS1 new_esEs(Integer(Pos(Zero))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_esEs(Integer(Neg(Succ(x0)))) new_primMinusNatS2(Succ(x0), Zero) new_primMinusNatS2(Zero, Zero) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Integer(x0), Integer(x1)) new_primModNatS02(x0, x1, Zero, 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) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_esEs(Integer(Neg(Zero))) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_esEs(Integer(Pos(Succ(x0)))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) 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(Pos(Zero)), Integer(Pos(x0))) -> new_gcd0Gcd'1(new_esEs(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'1(new_esEs(Integer(error([]))), Integer(Pos(Zero)), Integer(Pos(x0))),new_gcd0Gcd'(Integer(Pos(Zero)), Integer(Pos(x0))) -> new_gcd0Gcd'1(new_esEs(Integer(error([]))), Integer(Pos(Zero)), Integer(Pos(x0)))) ---------------------------------------- (684) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Integer(Neg(Succ(x1))), Integer(Pos(x0))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(x0, x1)))), Integer(Neg(Succ(x1))), Integer(Pos(x0))) new_gcd0Gcd'1(False, vuz102, vuz104) -> new_gcd0Gcd'0(vuz102, new_rem(vuz104, vuz102)) new_gcd0Gcd'0(vuz102, vuz109) -> new_gcd0Gcd'(vuz109, vuz102) new_gcd0Gcd'(Integer(Pos(Succ(x1))), Integer(Pos(x0))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(x0, x1)))), Integer(Pos(Succ(x1))), Integer(Pos(x0))) new_gcd0Gcd'(Integer(Pos(Succ(x1))), Integer(Neg(x0))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(x0, x1)))), Integer(Pos(Succ(x1))), Integer(Neg(x0))) new_gcd0Gcd'(Integer(Neg(Succ(x1))), Integer(Neg(x0))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(x0, x1)))), Integer(Neg(Succ(x1))), Integer(Neg(x0))) new_gcd0Gcd'(Integer(Neg(Zero)), Integer(Pos(x0))) -> new_gcd0Gcd'1(new_esEs(Integer(new_error)), Integer(Neg(Zero)), Integer(Pos(x0))) new_gcd0Gcd'(Integer(Pos(Zero)), Integer(Neg(x0))) -> new_gcd0Gcd'1(new_esEs(Integer(new_error)), Integer(Pos(Zero)), Integer(Neg(x0))) new_gcd0Gcd'(Integer(Pos(Zero)), Integer(Pos(x0))) -> new_gcd0Gcd'1(new_esEs(Integer(error([]))), Integer(Pos(Zero)), Integer(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_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primMinusNatS0(vuz32000) -> Succ(vuz32000) new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error new_primModNatS01(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error new_primModNatS1(Zero, vuz7400) -> Zero new_esEs(Integer(Pos(Succ(vuz106000)))) -> False new_rem(Integer(vuz1040), Integer(vuz1020)) -> Integer(new_primRemInt(vuz1040, vuz1020)) new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero new_error -> error([]) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS02(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_esEs(Integer(Neg(Zero))) -> True new_primModNatS02(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_esEs(Integer(Pos(Zero))) -> True new_esEs(Integer(Neg(Succ(vuz106000)))) -> False new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error new_primModNatS02(vuz130, vuz131, Zero, Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS02(vuz75000, vuz74000, vuz75000, vuz74000) The set Q consists of the following terms: new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primMinusNatS1 new_esEs(Integer(Pos(Zero))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_esEs(Integer(Neg(Succ(x0)))) new_primMinusNatS2(Succ(x0), Zero) new_primMinusNatS2(Zero, Zero) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Integer(x0), Integer(x1)) new_primModNatS02(x0, x1, Zero, 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) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_esEs(Integer(Neg(Zero))) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_esEs(Integer(Pos(Succ(x0)))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) 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'1(False, vuz102, vuz104) -> new_gcd0Gcd'0(vuz102, new_rem(vuz104, vuz102)) new_gcd0Gcd'0(vuz102, vuz109) -> new_gcd0Gcd'(vuz109, vuz102) new_gcd0Gcd'(Integer(Neg(Succ(x1))), Integer(Pos(x0))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(x0, x1)))), Integer(Neg(Succ(x1))), Integer(Pos(x0))) new_gcd0Gcd'(Integer(Pos(Succ(x1))), Integer(Pos(x0))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(x0, x1)))), Integer(Pos(Succ(x1))), Integer(Pos(x0))) new_gcd0Gcd'(Integer(Pos(Succ(x1))), Integer(Neg(x0))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(x0, x1)))), Integer(Pos(Succ(x1))), Integer(Neg(x0))) new_gcd0Gcd'(Integer(Neg(Succ(x1))), Integer(Neg(x0))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(x0, x1)))), Integer(Neg(Succ(x1))), Integer(Neg(x0))) new_gcd0Gcd'(Integer(Neg(Zero)), Integer(Pos(x0))) -> new_gcd0Gcd'1(new_esEs(Integer(new_error)), Integer(Neg(Zero)), Integer(Pos(x0))) new_gcd0Gcd'(Integer(Pos(Zero)), Integer(Neg(x0))) -> new_gcd0Gcd'1(new_esEs(Integer(new_error)), Integer(Pos(Zero)), Integer(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_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primMinusNatS0(vuz32000) -> Succ(vuz32000) new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error new_primModNatS01(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error new_primModNatS1(Zero, vuz7400) -> Zero new_esEs(Integer(Pos(Succ(vuz106000)))) -> False new_rem(Integer(vuz1040), Integer(vuz1020)) -> Integer(new_primRemInt(vuz1040, vuz1020)) new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero new_error -> error([]) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS02(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_esEs(Integer(Neg(Zero))) -> True new_primModNatS02(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_esEs(Integer(Pos(Zero))) -> True new_esEs(Integer(Neg(Succ(vuz106000)))) -> False new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error new_primModNatS02(vuz130, vuz131, Zero, Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS02(vuz75000, vuz74000, vuz75000, vuz74000) The set Q consists of the following terms: new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primMinusNatS1 new_esEs(Integer(Pos(Zero))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_esEs(Integer(Neg(Succ(x0)))) new_primMinusNatS2(Succ(x0), Zero) new_primMinusNatS2(Zero, Zero) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Integer(x0), Integer(x1)) new_primModNatS02(x0, x1, Zero, 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) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_esEs(Integer(Neg(Zero))) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_esEs(Integer(Pos(Succ(x0)))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) 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(Neg(Zero)), Integer(Pos(x0))) -> new_gcd0Gcd'1(new_esEs(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'1(new_esEs(Integer(error([]))), Integer(Neg(Zero)), Integer(Pos(x0))),new_gcd0Gcd'(Integer(Neg(Zero)), Integer(Pos(x0))) -> new_gcd0Gcd'1(new_esEs(Integer(error([]))), Integer(Neg(Zero)), Integer(Pos(x0)))) ---------------------------------------- (688) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, vuz102, vuz104) -> new_gcd0Gcd'0(vuz102, new_rem(vuz104, vuz102)) new_gcd0Gcd'0(vuz102, vuz109) -> new_gcd0Gcd'(vuz109, vuz102) new_gcd0Gcd'(Integer(Neg(Succ(x1))), Integer(Pos(x0))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(x0, x1)))), Integer(Neg(Succ(x1))), Integer(Pos(x0))) new_gcd0Gcd'(Integer(Pos(Succ(x1))), Integer(Pos(x0))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(x0, x1)))), Integer(Pos(Succ(x1))), Integer(Pos(x0))) new_gcd0Gcd'(Integer(Pos(Succ(x1))), Integer(Neg(x0))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(x0, x1)))), Integer(Pos(Succ(x1))), Integer(Neg(x0))) new_gcd0Gcd'(Integer(Neg(Succ(x1))), Integer(Neg(x0))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(x0, x1)))), Integer(Neg(Succ(x1))), Integer(Neg(x0))) new_gcd0Gcd'(Integer(Pos(Zero)), Integer(Neg(x0))) -> new_gcd0Gcd'1(new_esEs(Integer(new_error)), Integer(Pos(Zero)), Integer(Neg(x0))) new_gcd0Gcd'(Integer(Neg(Zero)), Integer(Pos(x0))) -> new_gcd0Gcd'1(new_esEs(Integer(error([]))), Integer(Neg(Zero)), Integer(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_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primMinusNatS0(vuz32000) -> Succ(vuz32000) new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error new_primModNatS01(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error new_primModNatS1(Zero, vuz7400) -> Zero new_esEs(Integer(Pos(Succ(vuz106000)))) -> False new_rem(Integer(vuz1040), Integer(vuz1020)) -> Integer(new_primRemInt(vuz1040, vuz1020)) new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero new_error -> error([]) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS02(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_esEs(Integer(Neg(Zero))) -> True new_primModNatS02(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_esEs(Integer(Pos(Zero))) -> True new_esEs(Integer(Neg(Succ(vuz106000)))) -> False new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error new_primModNatS02(vuz130, vuz131, Zero, Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS02(vuz75000, vuz74000, vuz75000, vuz74000) The set Q consists of the following terms: new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primMinusNatS1 new_esEs(Integer(Pos(Zero))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_esEs(Integer(Neg(Succ(x0)))) new_primMinusNatS2(Succ(x0), Zero) new_primMinusNatS2(Zero, Zero) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Integer(x0), Integer(x1)) new_primModNatS02(x0, x1, Zero, 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) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_esEs(Integer(Neg(Zero))) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_esEs(Integer(Pos(Succ(x0)))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) 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'0(vuz102, vuz109) -> new_gcd0Gcd'(vuz109, vuz102) new_gcd0Gcd'(Integer(Neg(Succ(x1))), Integer(Pos(x0))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(x0, x1)))), Integer(Neg(Succ(x1))), Integer(Pos(x0))) new_gcd0Gcd'1(False, vuz102, vuz104) -> new_gcd0Gcd'0(vuz102, new_rem(vuz104, vuz102)) new_gcd0Gcd'(Integer(Pos(Succ(x1))), Integer(Pos(x0))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(x0, x1)))), Integer(Pos(Succ(x1))), Integer(Pos(x0))) new_gcd0Gcd'(Integer(Pos(Succ(x1))), Integer(Neg(x0))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(x0, x1)))), Integer(Pos(Succ(x1))), Integer(Neg(x0))) new_gcd0Gcd'(Integer(Neg(Succ(x1))), Integer(Neg(x0))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(x0, x1)))), Integer(Neg(Succ(x1))), Integer(Neg(x0))) new_gcd0Gcd'(Integer(Pos(Zero)), Integer(Neg(x0))) -> new_gcd0Gcd'1(new_esEs(Integer(new_error)), Integer(Pos(Zero)), Integer(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_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primMinusNatS0(vuz32000) -> Succ(vuz32000) new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error new_primModNatS01(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error new_primModNatS1(Zero, vuz7400) -> Zero new_esEs(Integer(Pos(Succ(vuz106000)))) -> False new_rem(Integer(vuz1040), Integer(vuz1020)) -> Integer(new_primRemInt(vuz1040, vuz1020)) new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero new_error -> error([]) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS02(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_esEs(Integer(Neg(Zero))) -> True new_primModNatS02(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_esEs(Integer(Pos(Zero))) -> True new_esEs(Integer(Neg(Succ(vuz106000)))) -> False new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error new_primModNatS02(vuz130, vuz131, Zero, Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS02(vuz75000, vuz74000, vuz75000, vuz74000) The set Q consists of the following terms: new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primMinusNatS1 new_esEs(Integer(Pos(Zero))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_esEs(Integer(Neg(Succ(x0)))) new_primMinusNatS2(Succ(x0), Zero) new_primMinusNatS2(Zero, Zero) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Integer(x0), Integer(x1)) new_primModNatS02(x0, x1, Zero, 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) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_esEs(Integer(Neg(Zero))) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_esEs(Integer(Pos(Succ(x0)))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (691) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Integer(Pos(Zero)), Integer(Neg(x0))) -> new_gcd0Gcd'1(new_esEs(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'1(new_esEs(Integer(error([]))), Integer(Pos(Zero)), Integer(Neg(x0))),new_gcd0Gcd'(Integer(Pos(Zero)), Integer(Neg(x0))) -> new_gcd0Gcd'1(new_esEs(Integer(error([]))), Integer(Pos(Zero)), Integer(Neg(x0)))) ---------------------------------------- (692) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(vuz102, vuz109) -> new_gcd0Gcd'(vuz109, vuz102) new_gcd0Gcd'(Integer(Neg(Succ(x1))), Integer(Pos(x0))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(x0, x1)))), Integer(Neg(Succ(x1))), Integer(Pos(x0))) new_gcd0Gcd'1(False, vuz102, vuz104) -> new_gcd0Gcd'0(vuz102, new_rem(vuz104, vuz102)) new_gcd0Gcd'(Integer(Pos(Succ(x1))), Integer(Pos(x0))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(x0, x1)))), Integer(Pos(Succ(x1))), Integer(Pos(x0))) new_gcd0Gcd'(Integer(Pos(Succ(x1))), Integer(Neg(x0))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(x0, x1)))), Integer(Pos(Succ(x1))), Integer(Neg(x0))) new_gcd0Gcd'(Integer(Neg(Succ(x1))), Integer(Neg(x0))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(x0, x1)))), Integer(Neg(Succ(x1))), Integer(Neg(x0))) new_gcd0Gcd'(Integer(Pos(Zero)), Integer(Neg(x0))) -> new_gcd0Gcd'1(new_esEs(Integer(error([]))), Integer(Pos(Zero)), Integer(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_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primMinusNatS0(vuz32000) -> Succ(vuz32000) new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error new_primModNatS01(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error new_primModNatS1(Zero, vuz7400) -> Zero new_esEs(Integer(Pos(Succ(vuz106000)))) -> False new_rem(Integer(vuz1040), Integer(vuz1020)) -> Integer(new_primRemInt(vuz1040, vuz1020)) new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero new_error -> error([]) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS02(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_esEs(Integer(Neg(Zero))) -> True new_primModNatS02(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_esEs(Integer(Pos(Zero))) -> True new_esEs(Integer(Neg(Succ(vuz106000)))) -> False new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error new_primModNatS02(vuz130, vuz131, Zero, Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS02(vuz75000, vuz74000, vuz75000, vuz74000) The set Q consists of the following terms: new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primMinusNatS1 new_esEs(Integer(Pos(Zero))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_esEs(Integer(Neg(Succ(x0)))) new_primMinusNatS2(Succ(x0), Zero) new_primMinusNatS2(Zero, Zero) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Integer(x0), Integer(x1)) new_primModNatS02(x0, x1, Zero, 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) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_esEs(Integer(Neg(Zero))) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_esEs(Integer(Pos(Succ(x0)))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) 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'(Integer(Neg(Succ(x1))), Integer(Pos(x0))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(x0, x1)))), Integer(Neg(Succ(x1))), Integer(Pos(x0))) new_gcd0Gcd'1(False, vuz102, vuz104) -> new_gcd0Gcd'0(vuz102, new_rem(vuz104, vuz102)) new_gcd0Gcd'0(vuz102, vuz109) -> new_gcd0Gcd'(vuz109, vuz102) new_gcd0Gcd'(Integer(Pos(Succ(x1))), Integer(Pos(x0))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(x0, x1)))), Integer(Pos(Succ(x1))), Integer(Pos(x0))) new_gcd0Gcd'(Integer(Pos(Succ(x1))), Integer(Neg(x0))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(x0, x1)))), Integer(Pos(Succ(x1))), Integer(Neg(x0))) new_gcd0Gcd'(Integer(Neg(Succ(x1))), Integer(Neg(x0))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(x0, x1)))), Integer(Neg(Succ(x1))), Integer(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_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primMinusNatS0(vuz32000) -> Succ(vuz32000) new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error new_primModNatS01(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error new_primModNatS1(Zero, vuz7400) -> Zero new_esEs(Integer(Pos(Succ(vuz106000)))) -> False new_rem(Integer(vuz1040), Integer(vuz1020)) -> Integer(new_primRemInt(vuz1040, vuz1020)) new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero new_error -> error([]) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS02(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_esEs(Integer(Neg(Zero))) -> True new_primModNatS02(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_esEs(Integer(Pos(Zero))) -> True new_esEs(Integer(Neg(Succ(vuz106000)))) -> False new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error new_primModNatS02(vuz130, vuz131, Zero, Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS02(vuz75000, vuz74000, vuz75000, vuz74000) The set Q consists of the following terms: new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primMinusNatS1 new_esEs(Integer(Pos(Zero))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_esEs(Integer(Neg(Succ(x0)))) new_primMinusNatS2(Succ(x0), Zero) new_primMinusNatS2(Zero, Zero) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Integer(x0), Integer(x1)) new_primModNatS02(x0, x1, Zero, 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) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_esEs(Integer(Neg(Zero))) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_esEs(Integer(Pos(Succ(x0)))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (695) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_gcd0Gcd'(Integer(Neg(Succ(x1))), Integer(Pos(x0))) -> new_gcd0Gcd'1(new_esEs(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(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))),new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0)))))) (new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(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'1(new_esEs(Integer(Pos(Succ(Zero)))), Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero))))) (new_gcd0Gcd'(Integer(Neg(Succ(x0))), Integer(Pos(Zero))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(Zero))), Integer(Neg(Succ(x0))), Integer(Pos(Zero))),new_gcd0Gcd'(Integer(Neg(Succ(x0))), Integer(Pos(Zero))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(Zero))), Integer(Neg(Succ(x0))), Integer(Pos(Zero)))) (new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(new_primMinusNatS1, Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Zero)))),new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(new_primMinusNatS1, Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Zero))))) (new_gcd0Gcd'(Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS02(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'1(new_esEs(Integer(Pos(new_primModNatS02(x0, x1, x0, x1)))), Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0)))))) ---------------------------------------- (696) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, vuz102, vuz104) -> new_gcd0Gcd'0(vuz102, new_rem(vuz104, vuz102)) new_gcd0Gcd'0(vuz102, vuz109) -> new_gcd0Gcd'(vuz109, vuz102) new_gcd0Gcd'(Integer(Pos(Succ(x1))), Integer(Pos(x0))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(x0, x1)))), Integer(Pos(Succ(x1))), Integer(Pos(x0))) new_gcd0Gcd'(Integer(Pos(Succ(x1))), Integer(Neg(x0))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(x0, x1)))), Integer(Pos(Succ(x1))), Integer(Neg(x0))) new_gcd0Gcd'(Integer(Neg(Succ(x1))), Integer(Neg(x0))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(x0, x1)))), Integer(Neg(Succ(x1))), Integer(Neg(x0))) new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(Succ(Zero)))), Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'(Integer(Neg(Succ(x0))), Integer(Pos(Zero))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(Zero))), Integer(Neg(Succ(x0))), Integer(Pos(Zero))) new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(new_primMinusNatS1, Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS02(x0, x1, x0, x1)))), Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(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_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primMinusNatS0(vuz32000) -> Succ(vuz32000) new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error new_primModNatS01(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error new_primModNatS1(Zero, vuz7400) -> Zero new_esEs(Integer(Pos(Succ(vuz106000)))) -> False new_rem(Integer(vuz1040), Integer(vuz1020)) -> Integer(new_primRemInt(vuz1040, vuz1020)) new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero new_error -> error([]) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS02(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_esEs(Integer(Neg(Zero))) -> True new_primModNatS02(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_esEs(Integer(Pos(Zero))) -> True new_esEs(Integer(Neg(Succ(vuz106000)))) -> False new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error new_primModNatS02(vuz130, vuz131, Zero, Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS02(vuz75000, vuz74000, vuz75000, vuz74000) The set Q consists of the following terms: new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primMinusNatS1 new_esEs(Integer(Pos(Zero))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_esEs(Integer(Neg(Succ(x0)))) new_primMinusNatS2(Succ(x0), Zero) new_primMinusNatS2(Zero, Zero) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Integer(x0), Integer(x1)) new_primModNatS02(x0, x1, Zero, 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) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_esEs(Integer(Neg(Zero))) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_esEs(Integer(Pos(Succ(x0)))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (697) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (698) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(vuz102, vuz109) -> new_gcd0Gcd'(vuz109, vuz102) new_gcd0Gcd'(Integer(Pos(Succ(x1))), Integer(Pos(x0))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(x0, x1)))), Integer(Pos(Succ(x1))), Integer(Pos(x0))) new_gcd0Gcd'1(False, vuz102, vuz104) -> new_gcd0Gcd'0(vuz102, new_rem(vuz104, vuz102)) new_gcd0Gcd'(Integer(Pos(Succ(x1))), Integer(Neg(x0))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(x0, x1)))), Integer(Pos(Succ(x1))), Integer(Neg(x0))) new_gcd0Gcd'(Integer(Neg(Succ(x1))), Integer(Neg(x0))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(x0, x1)))), Integer(Neg(Succ(x1))), Integer(Neg(x0))) new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(Succ(Zero)))), Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(new_primMinusNatS1, Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS02(x0, x1, x0, x1)))), Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(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_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primMinusNatS0(vuz32000) -> Succ(vuz32000) new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error new_primModNatS01(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error new_primModNatS1(Zero, vuz7400) -> Zero new_esEs(Integer(Pos(Succ(vuz106000)))) -> False new_rem(Integer(vuz1040), Integer(vuz1020)) -> Integer(new_primRemInt(vuz1040, vuz1020)) new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero new_error -> error([]) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS02(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_esEs(Integer(Neg(Zero))) -> True new_primModNatS02(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_esEs(Integer(Pos(Zero))) -> True new_esEs(Integer(Neg(Succ(vuz106000)))) -> False new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error new_primModNatS02(vuz130, vuz131, Zero, Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS02(vuz75000, vuz74000, vuz75000, vuz74000) The set Q consists of the following terms: new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primMinusNatS1 new_esEs(Integer(Pos(Zero))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_esEs(Integer(Neg(Succ(x0)))) new_primMinusNatS2(Succ(x0), Zero) new_primMinusNatS2(Zero, Zero) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Integer(x0), Integer(x1)) new_primModNatS02(x0, x1, Zero, 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) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_esEs(Integer(Neg(Zero))) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_esEs(Integer(Pos(Succ(x0)))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) 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'1(new_esEs(Integer(Pos(new_primModNatS1(new_primMinusNatS0(x0), 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'1(new_esEs(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'1(new_esEs(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'0(vuz102, vuz109) -> new_gcd0Gcd'(vuz109, vuz102) new_gcd0Gcd'(Integer(Pos(Succ(x1))), Integer(Pos(x0))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(x0, x1)))), Integer(Pos(Succ(x1))), Integer(Pos(x0))) new_gcd0Gcd'1(False, vuz102, vuz104) -> new_gcd0Gcd'0(vuz102, new_rem(vuz104, vuz102)) new_gcd0Gcd'(Integer(Pos(Succ(x1))), Integer(Neg(x0))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(x0, x1)))), Integer(Pos(Succ(x1))), Integer(Neg(x0))) new_gcd0Gcd'(Integer(Neg(Succ(x1))), Integer(Neg(x0))) -> new_gcd0Gcd'1(new_esEs(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'1(new_esEs(Integer(Pos(Succ(Zero)))), Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(new_primMinusNatS1, Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS02(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'1(new_esEs(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_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primMinusNatS0(vuz32000) -> Succ(vuz32000) new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error new_primModNatS01(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error new_primModNatS1(Zero, vuz7400) -> Zero new_esEs(Integer(Pos(Succ(vuz106000)))) -> False new_rem(Integer(vuz1040), Integer(vuz1020)) -> Integer(new_primRemInt(vuz1040, vuz1020)) new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero new_error -> error([]) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS02(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_esEs(Integer(Neg(Zero))) -> True new_primModNatS02(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_esEs(Integer(Pos(Zero))) -> True new_esEs(Integer(Neg(Succ(vuz106000)))) -> False new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error new_primModNatS02(vuz130, vuz131, Zero, Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS02(vuz75000, vuz74000, vuz75000, vuz74000) The set Q consists of the following terms: new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primMinusNatS1 new_esEs(Integer(Pos(Zero))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_esEs(Integer(Neg(Succ(x0)))) new_primMinusNatS2(Succ(x0), Zero) new_primMinusNatS2(Zero, Zero) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Integer(x0), Integer(x1)) new_primModNatS02(x0, x1, Zero, 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) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_esEs(Integer(Neg(Zero))) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_esEs(Integer(Pos(Succ(x0)))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) 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(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(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'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))),new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero))))) ---------------------------------------- (702) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(vuz102, vuz109) -> new_gcd0Gcd'(vuz109, vuz102) new_gcd0Gcd'(Integer(Pos(Succ(x1))), Integer(Pos(x0))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(x0, x1)))), Integer(Pos(Succ(x1))), Integer(Pos(x0))) new_gcd0Gcd'1(False, vuz102, vuz104) -> new_gcd0Gcd'0(vuz102, new_rem(vuz104, vuz102)) new_gcd0Gcd'(Integer(Pos(Succ(x1))), Integer(Neg(x0))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(x0, x1)))), Integer(Pos(Succ(x1))), Integer(Neg(x0))) new_gcd0Gcd'(Integer(Neg(Succ(x1))), Integer(Neg(x0))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(x0, x1)))), Integer(Neg(Succ(x1))), Integer(Neg(x0))) new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(new_primMinusNatS1, Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS02(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'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 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_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primMinusNatS0(vuz32000) -> Succ(vuz32000) new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error new_primModNatS01(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error new_primModNatS1(Zero, vuz7400) -> Zero new_esEs(Integer(Pos(Succ(vuz106000)))) -> False new_rem(Integer(vuz1040), Integer(vuz1020)) -> Integer(new_primRemInt(vuz1040, vuz1020)) new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero new_error -> error([]) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS02(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_esEs(Integer(Neg(Zero))) -> True new_primModNatS02(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_esEs(Integer(Pos(Zero))) -> True new_esEs(Integer(Neg(Succ(vuz106000)))) -> False new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error new_primModNatS02(vuz130, vuz131, Zero, Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS02(vuz75000, vuz74000, vuz75000, vuz74000) The set Q consists of the following terms: new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primMinusNatS1 new_esEs(Integer(Pos(Zero))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_esEs(Integer(Neg(Succ(x0)))) new_primMinusNatS2(Succ(x0), Zero) new_primMinusNatS2(Zero, Zero) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Integer(x0), Integer(x1)) new_primModNatS02(x0, x1, Zero, 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) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_esEs(Integer(Neg(Zero))) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_esEs(Integer(Pos(Succ(x0)))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (703) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(new_primMinusNatS1, 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'1(new_esEs(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'1(new_esEs(Integer(Pos(new_primModNatS1(Zero, Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Zero))))) ---------------------------------------- (704) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(vuz102, vuz109) -> new_gcd0Gcd'(vuz109, vuz102) new_gcd0Gcd'(Integer(Pos(Succ(x1))), Integer(Pos(x0))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(x0, x1)))), Integer(Pos(Succ(x1))), Integer(Pos(x0))) new_gcd0Gcd'1(False, vuz102, vuz104) -> new_gcd0Gcd'0(vuz102, new_rem(vuz104, vuz102)) new_gcd0Gcd'(Integer(Pos(Succ(x1))), Integer(Neg(x0))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(x0, x1)))), Integer(Pos(Succ(x1))), Integer(Neg(x0))) new_gcd0Gcd'(Integer(Neg(Succ(x1))), Integer(Neg(x0))) -> new_gcd0Gcd'1(new_esEs(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'1(new_esEs(Integer(Pos(new_primModNatS02(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'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Zero, Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Zero)))) 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_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primMinusNatS0(vuz32000) -> Succ(vuz32000) new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error new_primModNatS01(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error new_primModNatS1(Zero, vuz7400) -> Zero new_esEs(Integer(Pos(Succ(vuz106000)))) -> False new_rem(Integer(vuz1040), Integer(vuz1020)) -> Integer(new_primRemInt(vuz1040, vuz1020)) new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero new_error -> error([]) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS02(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_esEs(Integer(Neg(Zero))) -> True new_primModNatS02(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_esEs(Integer(Pos(Zero))) -> True new_esEs(Integer(Neg(Succ(vuz106000)))) -> False new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error new_primModNatS02(vuz130, vuz131, Zero, Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS02(vuz75000, vuz74000, vuz75000, vuz74000) The set Q consists of the following terms: new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primMinusNatS1 new_esEs(Integer(Pos(Zero))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_esEs(Integer(Neg(Succ(x0)))) new_primMinusNatS2(Succ(x0), Zero) new_primMinusNatS2(Zero, Zero) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Integer(x0), Integer(x1)) new_primModNatS02(x0, x1, Zero, 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) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_esEs(Integer(Neg(Zero))) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_esEs(Integer(Pos(Succ(x0)))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (705) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(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'1(new_esEs(Integer(Pos(Zero))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Zero)))),new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(Zero))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Zero))))) ---------------------------------------- (706) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(vuz102, vuz109) -> new_gcd0Gcd'(vuz109, vuz102) new_gcd0Gcd'(Integer(Pos(Succ(x1))), Integer(Pos(x0))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(x0, x1)))), Integer(Pos(Succ(x1))), Integer(Pos(x0))) new_gcd0Gcd'1(False, vuz102, vuz104) -> new_gcd0Gcd'0(vuz102, new_rem(vuz104, vuz102)) new_gcd0Gcd'(Integer(Pos(Succ(x1))), Integer(Neg(x0))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(x0, x1)))), Integer(Pos(Succ(x1))), Integer(Neg(x0))) new_gcd0Gcd'(Integer(Neg(Succ(x1))), Integer(Neg(x0))) -> new_gcd0Gcd'1(new_esEs(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'1(new_esEs(Integer(Pos(new_primModNatS02(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'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(Zero))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Zero)))) 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_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primMinusNatS0(vuz32000) -> Succ(vuz32000) new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error new_primModNatS01(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error new_primModNatS1(Zero, vuz7400) -> Zero new_esEs(Integer(Pos(Succ(vuz106000)))) -> False new_rem(Integer(vuz1040), Integer(vuz1020)) -> Integer(new_primRemInt(vuz1040, vuz1020)) new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero new_error -> error([]) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS02(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_esEs(Integer(Neg(Zero))) -> True new_primModNatS02(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_esEs(Integer(Pos(Zero))) -> True new_esEs(Integer(Neg(Succ(vuz106000)))) -> False new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error new_primModNatS02(vuz130, vuz131, Zero, Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS02(vuz75000, vuz74000, vuz75000, vuz74000) The set Q consists of the following terms: new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primMinusNatS1 new_esEs(Integer(Pos(Zero))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_esEs(Integer(Neg(Succ(x0)))) new_primMinusNatS2(Succ(x0), Zero) new_primMinusNatS2(Zero, Zero) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Integer(x0), Integer(x1)) new_primModNatS02(x0, x1, Zero, 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) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_esEs(Integer(Neg(Zero))) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_esEs(Integer(Pos(Succ(x0)))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) 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'(Integer(Pos(Succ(x1))), Integer(Pos(x0))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(x0, x1)))), Integer(Pos(Succ(x1))), Integer(Pos(x0))) new_gcd0Gcd'1(False, vuz102, vuz104) -> new_gcd0Gcd'0(vuz102, new_rem(vuz104, vuz102)) new_gcd0Gcd'0(vuz102, vuz109) -> new_gcd0Gcd'(vuz109, vuz102) new_gcd0Gcd'(Integer(Pos(Succ(x1))), Integer(Neg(x0))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(x0, x1)))), Integer(Pos(Succ(x1))), Integer(Neg(x0))) new_gcd0Gcd'(Integer(Neg(Succ(x1))), Integer(Neg(x0))) -> new_gcd0Gcd'1(new_esEs(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'1(new_esEs(Integer(Pos(new_primModNatS02(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'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 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_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primMinusNatS0(vuz32000) -> Succ(vuz32000) new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error new_primModNatS01(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error new_primModNatS1(Zero, vuz7400) -> Zero new_esEs(Integer(Pos(Succ(vuz106000)))) -> False new_rem(Integer(vuz1040), Integer(vuz1020)) -> Integer(new_primRemInt(vuz1040, vuz1020)) new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero new_error -> error([]) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS02(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_esEs(Integer(Neg(Zero))) -> True new_primModNatS02(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_esEs(Integer(Pos(Zero))) -> True new_esEs(Integer(Neg(Succ(vuz106000)))) -> False new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error new_primModNatS02(vuz130, vuz131, Zero, Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS02(vuz75000, vuz74000, vuz75000, vuz74000) The set Q consists of the following terms: new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primMinusNatS1 new_esEs(Integer(Pos(Zero))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_esEs(Integer(Neg(Succ(x0)))) new_primMinusNatS2(Succ(x0), Zero) new_primMinusNatS2(Zero, Zero) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Integer(x0), Integer(x1)) new_primModNatS02(x0, x1, Zero, 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) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_esEs(Integer(Neg(Zero))) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_esEs(Integer(Pos(Succ(x0)))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (709) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_gcd0Gcd'(Integer(Pos(Succ(x1))), Integer(Pos(x0))) -> new_gcd0Gcd'1(new_esEs(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(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))),new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0)))))) (new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(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'1(new_esEs(Integer(Pos(Succ(Zero)))), Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero))))) (new_gcd0Gcd'(Integer(Pos(Succ(x0))), Integer(Pos(Zero))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(Zero))), Integer(Pos(Succ(x0))), Integer(Pos(Zero))),new_gcd0Gcd'(Integer(Pos(Succ(x0))), Integer(Pos(Zero))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(Zero))), Integer(Pos(Succ(x0))), Integer(Pos(Zero)))) (new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(new_primMinusNatS1, Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Zero)))),new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(new_primMinusNatS1, Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Zero))))) (new_gcd0Gcd'(Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS02(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'1(new_esEs(Integer(Pos(new_primModNatS02(x0, x1, x0, x1)))), Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0)))))) ---------------------------------------- (710) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, vuz102, vuz104) -> new_gcd0Gcd'0(vuz102, new_rem(vuz104, vuz102)) new_gcd0Gcd'0(vuz102, vuz109) -> new_gcd0Gcd'(vuz109, vuz102) new_gcd0Gcd'(Integer(Pos(Succ(x1))), Integer(Neg(x0))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(x0, x1)))), Integer(Pos(Succ(x1))), Integer(Neg(x0))) new_gcd0Gcd'(Integer(Neg(Succ(x1))), Integer(Neg(x0))) -> new_gcd0Gcd'1(new_esEs(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'1(new_esEs(Integer(Pos(new_primModNatS02(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'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(Succ(Zero)))), Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'(Integer(Pos(Succ(x0))), Integer(Pos(Zero))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(Zero))), Integer(Pos(Succ(x0))), Integer(Pos(Zero))) new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(new_primMinusNatS1, Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS02(x0, x1, x0, x1)))), Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(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_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primMinusNatS0(vuz32000) -> Succ(vuz32000) new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error new_primModNatS01(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error new_primModNatS1(Zero, vuz7400) -> Zero new_esEs(Integer(Pos(Succ(vuz106000)))) -> False new_rem(Integer(vuz1040), Integer(vuz1020)) -> Integer(new_primRemInt(vuz1040, vuz1020)) new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero new_error -> error([]) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS02(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_esEs(Integer(Neg(Zero))) -> True new_primModNatS02(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_esEs(Integer(Pos(Zero))) -> True new_esEs(Integer(Neg(Succ(vuz106000)))) -> False new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error new_primModNatS02(vuz130, vuz131, Zero, Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS02(vuz75000, vuz74000, vuz75000, vuz74000) The set Q consists of the following terms: new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primMinusNatS1 new_esEs(Integer(Pos(Zero))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_esEs(Integer(Neg(Succ(x0)))) new_primMinusNatS2(Succ(x0), Zero) new_primMinusNatS2(Zero, Zero) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Integer(x0), Integer(x1)) new_primModNatS02(x0, x1, Zero, 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) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_esEs(Integer(Neg(Zero))) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_esEs(Integer(Pos(Succ(x0)))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (711) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (712) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(vuz102, vuz109) -> new_gcd0Gcd'(vuz109, vuz102) new_gcd0Gcd'(Integer(Pos(Succ(x1))), Integer(Neg(x0))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(x0, x1)))), Integer(Pos(Succ(x1))), Integer(Neg(x0))) new_gcd0Gcd'1(False, vuz102, vuz104) -> new_gcd0Gcd'0(vuz102, new_rem(vuz104, vuz102)) new_gcd0Gcd'(Integer(Neg(Succ(x1))), Integer(Neg(x0))) -> new_gcd0Gcd'1(new_esEs(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'1(new_esEs(Integer(Pos(new_primModNatS02(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'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(Succ(Zero)))), Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(new_primMinusNatS1, Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS02(x0, x1, x0, x1)))), Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(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_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primMinusNatS0(vuz32000) -> Succ(vuz32000) new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error new_primModNatS01(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error new_primModNatS1(Zero, vuz7400) -> Zero new_esEs(Integer(Pos(Succ(vuz106000)))) -> False new_rem(Integer(vuz1040), Integer(vuz1020)) -> Integer(new_primRemInt(vuz1040, vuz1020)) new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero new_error -> error([]) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS02(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_esEs(Integer(Neg(Zero))) -> True new_primModNatS02(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_esEs(Integer(Pos(Zero))) -> True new_esEs(Integer(Neg(Succ(vuz106000)))) -> False new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error new_primModNatS02(vuz130, vuz131, Zero, Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS02(vuz75000, vuz74000, vuz75000, vuz74000) The set Q consists of the following terms: new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primMinusNatS1 new_esEs(Integer(Pos(Zero))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_esEs(Integer(Neg(Succ(x0)))) new_primMinusNatS2(Succ(x0), Zero) new_primMinusNatS2(Zero, Zero) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Integer(x0), Integer(x1)) new_primModNatS02(x0, x1, Zero, 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) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_esEs(Integer(Neg(Zero))) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_esEs(Integer(Pos(Succ(x0)))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) 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'1(new_esEs(Integer(Pos(new_primModNatS1(new_primMinusNatS0(x0), 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'1(new_esEs(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'1(new_esEs(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'0(vuz102, vuz109) -> new_gcd0Gcd'(vuz109, vuz102) new_gcd0Gcd'(Integer(Pos(Succ(x1))), Integer(Neg(x0))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(x0, x1)))), Integer(Pos(Succ(x1))), Integer(Neg(x0))) new_gcd0Gcd'1(False, vuz102, vuz104) -> new_gcd0Gcd'0(vuz102, new_rem(vuz104, vuz102)) new_gcd0Gcd'(Integer(Neg(Succ(x1))), Integer(Neg(x0))) -> new_gcd0Gcd'1(new_esEs(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'1(new_esEs(Integer(Pos(new_primModNatS02(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'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(Succ(Zero)))), Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(new_primMinusNatS1, Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS02(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'1(new_esEs(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_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primMinusNatS0(vuz32000) -> Succ(vuz32000) new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error new_primModNatS01(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error new_primModNatS1(Zero, vuz7400) -> Zero new_esEs(Integer(Pos(Succ(vuz106000)))) -> False new_rem(Integer(vuz1040), Integer(vuz1020)) -> Integer(new_primRemInt(vuz1040, vuz1020)) new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero new_error -> error([]) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS02(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_esEs(Integer(Neg(Zero))) -> True new_primModNatS02(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_esEs(Integer(Pos(Zero))) -> True new_esEs(Integer(Neg(Succ(vuz106000)))) -> False new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error new_primModNatS02(vuz130, vuz131, Zero, Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS02(vuz75000, vuz74000, vuz75000, vuz74000) The set Q consists of the following terms: new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primMinusNatS1 new_esEs(Integer(Pos(Zero))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_esEs(Integer(Neg(Succ(x0)))) new_primMinusNatS2(Succ(x0), Zero) new_primMinusNatS2(Zero, Zero) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Integer(x0), Integer(x1)) new_primModNatS02(x0, x1, Zero, 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) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_esEs(Integer(Neg(Zero))) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_esEs(Integer(Pos(Succ(x0)))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) 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(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(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'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))),new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero))))) ---------------------------------------- (716) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(vuz102, vuz109) -> new_gcd0Gcd'(vuz109, vuz102) new_gcd0Gcd'(Integer(Pos(Succ(x1))), Integer(Neg(x0))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(x0, x1)))), Integer(Pos(Succ(x1))), Integer(Neg(x0))) new_gcd0Gcd'1(False, vuz102, vuz104) -> new_gcd0Gcd'0(vuz102, new_rem(vuz104, vuz102)) new_gcd0Gcd'(Integer(Neg(Succ(x1))), Integer(Neg(x0))) -> new_gcd0Gcd'1(new_esEs(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'1(new_esEs(Integer(Pos(new_primModNatS02(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'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(new_primMinusNatS1, Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS02(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'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 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_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primMinusNatS0(vuz32000) -> Succ(vuz32000) new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error new_primModNatS01(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error new_primModNatS1(Zero, vuz7400) -> Zero new_esEs(Integer(Pos(Succ(vuz106000)))) -> False new_rem(Integer(vuz1040), Integer(vuz1020)) -> Integer(new_primRemInt(vuz1040, vuz1020)) new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero new_error -> error([]) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS02(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_esEs(Integer(Neg(Zero))) -> True new_primModNatS02(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_esEs(Integer(Pos(Zero))) -> True new_esEs(Integer(Neg(Succ(vuz106000)))) -> False new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error new_primModNatS02(vuz130, vuz131, Zero, Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS02(vuz75000, vuz74000, vuz75000, vuz74000) The set Q consists of the following terms: new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primMinusNatS1 new_esEs(Integer(Pos(Zero))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_esEs(Integer(Neg(Succ(x0)))) new_primMinusNatS2(Succ(x0), Zero) new_primMinusNatS2(Zero, Zero) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Integer(x0), Integer(x1)) new_primModNatS02(x0, x1, Zero, 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) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_esEs(Integer(Neg(Zero))) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_esEs(Integer(Pos(Succ(x0)))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (717) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(new_primMinusNatS1, 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'1(new_esEs(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'1(new_esEs(Integer(Pos(new_primModNatS1(Zero, Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Zero))))) ---------------------------------------- (718) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(vuz102, vuz109) -> new_gcd0Gcd'(vuz109, vuz102) new_gcd0Gcd'(Integer(Pos(Succ(x1))), Integer(Neg(x0))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(x0, x1)))), Integer(Pos(Succ(x1))), Integer(Neg(x0))) new_gcd0Gcd'1(False, vuz102, vuz104) -> new_gcd0Gcd'0(vuz102, new_rem(vuz104, vuz102)) new_gcd0Gcd'(Integer(Neg(Succ(x1))), Integer(Neg(x0))) -> new_gcd0Gcd'1(new_esEs(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'1(new_esEs(Integer(Pos(new_primModNatS02(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'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS02(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'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Zero, Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Zero)))) 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_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primMinusNatS0(vuz32000) -> Succ(vuz32000) new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error new_primModNatS01(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error new_primModNatS1(Zero, vuz7400) -> Zero new_esEs(Integer(Pos(Succ(vuz106000)))) -> False new_rem(Integer(vuz1040), Integer(vuz1020)) -> Integer(new_primRemInt(vuz1040, vuz1020)) new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero new_error -> error([]) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS02(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_esEs(Integer(Neg(Zero))) -> True new_primModNatS02(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_esEs(Integer(Pos(Zero))) -> True new_esEs(Integer(Neg(Succ(vuz106000)))) -> False new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error new_primModNatS02(vuz130, vuz131, Zero, Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS02(vuz75000, vuz74000, vuz75000, vuz74000) The set Q consists of the following terms: new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primMinusNatS1 new_esEs(Integer(Pos(Zero))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_esEs(Integer(Neg(Succ(x0)))) new_primMinusNatS2(Succ(x0), Zero) new_primMinusNatS2(Zero, Zero) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Integer(x0), Integer(x1)) new_primModNatS02(x0, x1, Zero, 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) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_esEs(Integer(Neg(Zero))) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_esEs(Integer(Pos(Succ(x0)))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (719) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(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'1(new_esEs(Integer(Pos(Zero))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Zero)))),new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(Zero))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Zero))))) ---------------------------------------- (720) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(vuz102, vuz109) -> new_gcd0Gcd'(vuz109, vuz102) new_gcd0Gcd'(Integer(Pos(Succ(x1))), Integer(Neg(x0))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(x0, x1)))), Integer(Pos(Succ(x1))), Integer(Neg(x0))) new_gcd0Gcd'1(False, vuz102, vuz104) -> new_gcd0Gcd'0(vuz102, new_rem(vuz104, vuz102)) new_gcd0Gcd'(Integer(Neg(Succ(x1))), Integer(Neg(x0))) -> new_gcd0Gcd'1(new_esEs(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'1(new_esEs(Integer(Pos(new_primModNatS02(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'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS02(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'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(Zero))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Zero)))) 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_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primMinusNatS0(vuz32000) -> Succ(vuz32000) new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error new_primModNatS01(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error new_primModNatS1(Zero, vuz7400) -> Zero new_esEs(Integer(Pos(Succ(vuz106000)))) -> False new_rem(Integer(vuz1040), Integer(vuz1020)) -> Integer(new_primRemInt(vuz1040, vuz1020)) new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero new_error -> error([]) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS02(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_esEs(Integer(Neg(Zero))) -> True new_primModNatS02(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_esEs(Integer(Pos(Zero))) -> True new_esEs(Integer(Neg(Succ(vuz106000)))) -> False new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error new_primModNatS02(vuz130, vuz131, Zero, Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS02(vuz75000, vuz74000, vuz75000, vuz74000) The set Q consists of the following terms: new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primMinusNatS1 new_esEs(Integer(Pos(Zero))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_esEs(Integer(Neg(Succ(x0)))) new_primMinusNatS2(Succ(x0), Zero) new_primMinusNatS2(Zero, Zero) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Integer(x0), Integer(x1)) new_primModNatS02(x0, x1, Zero, 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) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_esEs(Integer(Neg(Zero))) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_esEs(Integer(Pos(Succ(x0)))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) 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'(Integer(Pos(Succ(x1))), Integer(Neg(x0))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(x0, x1)))), Integer(Pos(Succ(x1))), Integer(Neg(x0))) new_gcd0Gcd'1(False, vuz102, vuz104) -> new_gcd0Gcd'0(vuz102, new_rem(vuz104, vuz102)) new_gcd0Gcd'0(vuz102, vuz109) -> new_gcd0Gcd'(vuz109, vuz102) new_gcd0Gcd'(Integer(Neg(Succ(x1))), Integer(Neg(x0))) -> new_gcd0Gcd'1(new_esEs(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'1(new_esEs(Integer(Pos(new_primModNatS02(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'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS02(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'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 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_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primMinusNatS0(vuz32000) -> Succ(vuz32000) new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error new_primModNatS01(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error new_primModNatS1(Zero, vuz7400) -> Zero new_esEs(Integer(Pos(Succ(vuz106000)))) -> False new_rem(Integer(vuz1040), Integer(vuz1020)) -> Integer(new_primRemInt(vuz1040, vuz1020)) new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero new_error -> error([]) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS02(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_esEs(Integer(Neg(Zero))) -> True new_primModNatS02(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_esEs(Integer(Pos(Zero))) -> True new_esEs(Integer(Neg(Succ(vuz106000)))) -> False new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error new_primModNatS02(vuz130, vuz131, Zero, Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS02(vuz75000, vuz74000, vuz75000, vuz74000) The set Q consists of the following terms: new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primMinusNatS1 new_esEs(Integer(Pos(Zero))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_esEs(Integer(Neg(Succ(x0)))) new_primMinusNatS2(Succ(x0), Zero) new_primMinusNatS2(Zero, Zero) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Integer(x0), Integer(x1)) new_primModNatS02(x0, x1, Zero, 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) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_esEs(Integer(Neg(Zero))) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_esEs(Integer(Pos(Succ(x0)))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (723) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_gcd0Gcd'(Integer(Pos(Succ(x1))), Integer(Neg(x0))) -> new_gcd0Gcd'1(new_esEs(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(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))),new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0)))))) (new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(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'1(new_esEs(Integer(Neg(Succ(Zero)))), Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero))))) (new_gcd0Gcd'(Integer(Pos(Succ(x0))), Integer(Neg(Zero))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(Zero))), Integer(Pos(Succ(x0))), Integer(Neg(Zero))),new_gcd0Gcd'(Integer(Pos(Succ(x0))), Integer(Neg(Zero))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(Zero))), Integer(Pos(Succ(x0))), Integer(Neg(Zero)))) (new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(new_primMinusNatS1, Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Zero)))),new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(new_primMinusNatS1, Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Zero))))) (new_gcd0Gcd'(Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS02(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'1(new_esEs(Integer(Neg(new_primModNatS02(x0, x1, x0, x1)))), Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0)))))) ---------------------------------------- (724) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, vuz102, vuz104) -> new_gcd0Gcd'0(vuz102, new_rem(vuz104, vuz102)) new_gcd0Gcd'0(vuz102, vuz109) -> new_gcd0Gcd'(vuz109, vuz102) new_gcd0Gcd'(Integer(Neg(Succ(x1))), Integer(Neg(x0))) -> new_gcd0Gcd'1(new_esEs(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'1(new_esEs(Integer(Pos(new_primModNatS02(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'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS02(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'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(Succ(Zero)))), Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) new_gcd0Gcd'(Integer(Pos(Succ(x0))), Integer(Neg(Zero))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(Zero))), Integer(Pos(Succ(x0))), Integer(Neg(Zero))) new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(new_primMinusNatS1, Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Zero)))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS02(x0, x1, x0, x1)))), Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(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_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primMinusNatS0(vuz32000) -> Succ(vuz32000) new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error new_primModNatS01(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error new_primModNatS1(Zero, vuz7400) -> Zero new_esEs(Integer(Pos(Succ(vuz106000)))) -> False new_rem(Integer(vuz1040), Integer(vuz1020)) -> Integer(new_primRemInt(vuz1040, vuz1020)) new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero new_error -> error([]) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS02(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_esEs(Integer(Neg(Zero))) -> True new_primModNatS02(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_esEs(Integer(Pos(Zero))) -> True new_esEs(Integer(Neg(Succ(vuz106000)))) -> False new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error new_primModNatS02(vuz130, vuz131, Zero, Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS02(vuz75000, vuz74000, vuz75000, vuz74000) The set Q consists of the following terms: new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primMinusNatS1 new_esEs(Integer(Pos(Zero))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_esEs(Integer(Neg(Succ(x0)))) new_primMinusNatS2(Succ(x0), Zero) new_primMinusNatS2(Zero, Zero) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Integer(x0), Integer(x1)) new_primModNatS02(x0, x1, Zero, 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) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_esEs(Integer(Neg(Zero))) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_esEs(Integer(Pos(Succ(x0)))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (725) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (726) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(vuz102, vuz109) -> new_gcd0Gcd'(vuz109, vuz102) new_gcd0Gcd'(Integer(Neg(Succ(x1))), Integer(Neg(x0))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(x0, x1)))), Integer(Neg(Succ(x1))), Integer(Neg(x0))) new_gcd0Gcd'1(False, vuz102, vuz104) -> new_gcd0Gcd'0(vuz102, new_rem(vuz104, vuz102)) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS02(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'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS02(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'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(Succ(Zero)))), Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(new_primMinusNatS1, Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Zero)))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS02(x0, x1, x0, x1)))), Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(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_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primMinusNatS0(vuz32000) -> Succ(vuz32000) new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error new_primModNatS01(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error new_primModNatS1(Zero, vuz7400) -> Zero new_esEs(Integer(Pos(Succ(vuz106000)))) -> False new_rem(Integer(vuz1040), Integer(vuz1020)) -> Integer(new_primRemInt(vuz1040, vuz1020)) new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero new_error -> error([]) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS02(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_esEs(Integer(Neg(Zero))) -> True new_primModNatS02(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_esEs(Integer(Pos(Zero))) -> True new_esEs(Integer(Neg(Succ(vuz106000)))) -> False new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error new_primModNatS02(vuz130, vuz131, Zero, Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS02(vuz75000, vuz74000, vuz75000, vuz74000) The set Q consists of the following terms: new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primMinusNatS1 new_esEs(Integer(Pos(Zero))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_esEs(Integer(Neg(Succ(x0)))) new_primMinusNatS2(Succ(x0), Zero) new_primMinusNatS2(Zero, Zero) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Integer(x0), Integer(x1)) new_primModNatS02(x0, x1, Zero, 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) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_esEs(Integer(Neg(Zero))) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_esEs(Integer(Pos(Succ(x0)))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) 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'1(new_esEs(Integer(Neg(new_primModNatS1(new_primMinusNatS0(x0), 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'1(new_esEs(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'1(new_esEs(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'0(vuz102, vuz109) -> new_gcd0Gcd'(vuz109, vuz102) new_gcd0Gcd'(Integer(Neg(Succ(x1))), Integer(Neg(x0))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(x0, x1)))), Integer(Neg(Succ(x1))), Integer(Neg(x0))) new_gcd0Gcd'1(False, vuz102, vuz104) -> new_gcd0Gcd'0(vuz102, new_rem(vuz104, vuz102)) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS02(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'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS02(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'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(Succ(Zero)))), Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(new_primMinusNatS1, Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Zero)))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS02(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'1(new_esEs(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_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primMinusNatS0(vuz32000) -> Succ(vuz32000) new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error new_primModNatS01(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error new_primModNatS1(Zero, vuz7400) -> Zero new_esEs(Integer(Pos(Succ(vuz106000)))) -> False new_rem(Integer(vuz1040), Integer(vuz1020)) -> Integer(new_primRemInt(vuz1040, vuz1020)) new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero new_error -> error([]) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS02(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_esEs(Integer(Neg(Zero))) -> True new_primModNatS02(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_esEs(Integer(Pos(Zero))) -> True new_esEs(Integer(Neg(Succ(vuz106000)))) -> False new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error new_primModNatS02(vuz130, vuz131, Zero, Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS02(vuz75000, vuz74000, vuz75000, vuz74000) The set Q consists of the following terms: new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primMinusNatS1 new_esEs(Integer(Pos(Zero))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_esEs(Integer(Neg(Succ(x0)))) new_primMinusNatS2(Succ(x0), Zero) new_primMinusNatS2(Zero, Zero) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Integer(x0), Integer(x1)) new_primModNatS02(x0, x1, Zero, 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) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_esEs(Integer(Neg(Zero))) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_esEs(Integer(Pos(Succ(x0)))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) 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(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(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'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))),new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero))))) ---------------------------------------- (730) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(vuz102, vuz109) -> new_gcd0Gcd'(vuz109, vuz102) new_gcd0Gcd'(Integer(Neg(Succ(x1))), Integer(Neg(x0))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(x0, x1)))), Integer(Neg(Succ(x1))), Integer(Neg(x0))) new_gcd0Gcd'1(False, vuz102, vuz104) -> new_gcd0Gcd'0(vuz102, new_rem(vuz104, vuz102)) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS02(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'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS02(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'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(new_primMinusNatS1, Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Zero)))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS02(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'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 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_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primMinusNatS0(vuz32000) -> Succ(vuz32000) new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error new_primModNatS01(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error new_primModNatS1(Zero, vuz7400) -> Zero new_esEs(Integer(Pos(Succ(vuz106000)))) -> False new_rem(Integer(vuz1040), Integer(vuz1020)) -> Integer(new_primRemInt(vuz1040, vuz1020)) new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero new_error -> error([]) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS02(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_esEs(Integer(Neg(Zero))) -> True new_primModNatS02(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_esEs(Integer(Pos(Zero))) -> True new_esEs(Integer(Neg(Succ(vuz106000)))) -> False new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error new_primModNatS02(vuz130, vuz131, Zero, Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS02(vuz75000, vuz74000, vuz75000, vuz74000) The set Q consists of the following terms: new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primMinusNatS1 new_esEs(Integer(Pos(Zero))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_esEs(Integer(Neg(Succ(x0)))) new_primMinusNatS2(Succ(x0), Zero) new_primMinusNatS2(Zero, Zero) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Integer(x0), Integer(x1)) new_primModNatS02(x0, x1, Zero, 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) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_esEs(Integer(Neg(Zero))) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_esEs(Integer(Pos(Succ(x0)))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (731) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(new_primMinusNatS1, 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'1(new_esEs(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'1(new_esEs(Integer(Neg(new_primModNatS1(Zero, Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Zero))))) ---------------------------------------- (732) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(vuz102, vuz109) -> new_gcd0Gcd'(vuz109, vuz102) new_gcd0Gcd'(Integer(Neg(Succ(x1))), Integer(Neg(x0))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(x0, x1)))), Integer(Neg(Succ(x1))), Integer(Neg(x0))) new_gcd0Gcd'1(False, vuz102, vuz104) -> new_gcd0Gcd'0(vuz102, new_rem(vuz104, vuz102)) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS02(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'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS02(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'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS02(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'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(Zero, Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Zero)))) 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_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primMinusNatS0(vuz32000) -> Succ(vuz32000) new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error new_primModNatS01(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error new_primModNatS1(Zero, vuz7400) -> Zero new_esEs(Integer(Pos(Succ(vuz106000)))) -> False new_rem(Integer(vuz1040), Integer(vuz1020)) -> Integer(new_primRemInt(vuz1040, vuz1020)) new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero new_error -> error([]) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS02(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_esEs(Integer(Neg(Zero))) -> True new_primModNatS02(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_esEs(Integer(Pos(Zero))) -> True new_esEs(Integer(Neg(Succ(vuz106000)))) -> False new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error new_primModNatS02(vuz130, vuz131, Zero, Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS02(vuz75000, vuz74000, vuz75000, vuz74000) The set Q consists of the following terms: new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primMinusNatS1 new_esEs(Integer(Pos(Zero))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_esEs(Integer(Neg(Succ(x0)))) new_primMinusNatS2(Succ(x0), Zero) new_primMinusNatS2(Zero, Zero) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Integer(x0), Integer(x1)) new_primModNatS02(x0, x1, Zero, 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) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_esEs(Integer(Neg(Zero))) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_esEs(Integer(Pos(Succ(x0)))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (733) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(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'1(new_esEs(Integer(Neg(Zero))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Zero)))),new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(Zero))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Zero))))) ---------------------------------------- (734) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(vuz102, vuz109) -> new_gcd0Gcd'(vuz109, vuz102) new_gcd0Gcd'(Integer(Neg(Succ(x1))), Integer(Neg(x0))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(x0, x1)))), Integer(Neg(Succ(x1))), Integer(Neg(x0))) new_gcd0Gcd'1(False, vuz102, vuz104) -> new_gcd0Gcd'0(vuz102, new_rem(vuz104, vuz102)) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS02(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'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS02(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'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS02(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'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(Zero))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Zero)))) 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_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primMinusNatS0(vuz32000) -> Succ(vuz32000) new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error new_primModNatS01(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error new_primModNatS1(Zero, vuz7400) -> Zero new_esEs(Integer(Pos(Succ(vuz106000)))) -> False new_rem(Integer(vuz1040), Integer(vuz1020)) -> Integer(new_primRemInt(vuz1040, vuz1020)) new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero new_error -> error([]) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS02(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_esEs(Integer(Neg(Zero))) -> True new_primModNatS02(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_esEs(Integer(Pos(Zero))) -> True new_esEs(Integer(Neg(Succ(vuz106000)))) -> False new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error new_primModNatS02(vuz130, vuz131, Zero, Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS02(vuz75000, vuz74000, vuz75000, vuz74000) The set Q consists of the following terms: new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primMinusNatS1 new_esEs(Integer(Pos(Zero))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_esEs(Integer(Neg(Succ(x0)))) new_primMinusNatS2(Succ(x0), Zero) new_primMinusNatS2(Zero, Zero) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Integer(x0), Integer(x1)) new_primModNatS02(x0, x1, Zero, 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) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_esEs(Integer(Neg(Zero))) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_esEs(Integer(Pos(Succ(x0)))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) 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'(Integer(Neg(Succ(x1))), Integer(Neg(x0))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(x0, x1)))), Integer(Neg(Succ(x1))), Integer(Neg(x0))) new_gcd0Gcd'1(False, vuz102, vuz104) -> new_gcd0Gcd'0(vuz102, new_rem(vuz104, vuz102)) new_gcd0Gcd'0(vuz102, vuz109) -> new_gcd0Gcd'(vuz109, vuz102) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS02(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'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS02(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'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS02(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'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 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_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primMinusNatS0(vuz32000) -> Succ(vuz32000) new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error new_primModNatS01(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error new_primModNatS1(Zero, vuz7400) -> Zero new_esEs(Integer(Pos(Succ(vuz106000)))) -> False new_rem(Integer(vuz1040), Integer(vuz1020)) -> Integer(new_primRemInt(vuz1040, vuz1020)) new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero new_error -> error([]) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS02(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_esEs(Integer(Neg(Zero))) -> True new_primModNatS02(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_esEs(Integer(Pos(Zero))) -> True new_esEs(Integer(Neg(Succ(vuz106000)))) -> False new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error new_primModNatS02(vuz130, vuz131, Zero, Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS02(vuz75000, vuz74000, vuz75000, vuz74000) The set Q consists of the following terms: new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primMinusNatS1 new_esEs(Integer(Pos(Zero))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_esEs(Integer(Neg(Succ(x0)))) new_primMinusNatS2(Succ(x0), Zero) new_primMinusNatS2(Zero, Zero) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Integer(x0), Integer(x1)) new_primModNatS02(x0, x1, Zero, 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) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_esEs(Integer(Neg(Zero))) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_esEs(Integer(Pos(Succ(x0)))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (737) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_gcd0Gcd'(Integer(Neg(Succ(x1))), Integer(Neg(x0))) -> new_gcd0Gcd'1(new_esEs(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(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))),new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0)))))) (new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(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'1(new_esEs(Integer(Neg(Succ(Zero)))), Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero))))) (new_gcd0Gcd'(Integer(Neg(Succ(x0))), Integer(Neg(Zero))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(Zero))), Integer(Neg(Succ(x0))), Integer(Neg(Zero))),new_gcd0Gcd'(Integer(Neg(Succ(x0))), Integer(Neg(Zero))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(Zero))), Integer(Neg(Succ(x0))), Integer(Neg(Zero)))) (new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(new_primMinusNatS1, Zero)))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Zero)))),new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(new_primMinusNatS1, Zero)))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Zero))))) (new_gcd0Gcd'(Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS02(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'1(new_esEs(Integer(Neg(new_primModNatS02(x0, x1, x0, x1)))), Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0)))))) ---------------------------------------- (738) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, vuz102, vuz104) -> new_gcd0Gcd'0(vuz102, new_rem(vuz104, vuz102)) new_gcd0Gcd'0(vuz102, vuz109) -> new_gcd0Gcd'(vuz109, vuz102) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS02(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'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS02(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'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS02(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'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(Succ(Zero)))), Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) new_gcd0Gcd'(Integer(Neg(Succ(x0))), Integer(Neg(Zero))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(Zero))), Integer(Neg(Succ(x0))), Integer(Neg(Zero))) new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(new_primMinusNatS1, Zero)))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Zero)))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS02(x0, x1, x0, x1)))), Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(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_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primMinusNatS0(vuz32000) -> Succ(vuz32000) new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error new_primModNatS01(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error new_primModNatS1(Zero, vuz7400) -> Zero new_esEs(Integer(Pos(Succ(vuz106000)))) -> False new_rem(Integer(vuz1040), Integer(vuz1020)) -> Integer(new_primRemInt(vuz1040, vuz1020)) new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero new_error -> error([]) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS02(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_esEs(Integer(Neg(Zero))) -> True new_primModNatS02(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_esEs(Integer(Pos(Zero))) -> True new_esEs(Integer(Neg(Succ(vuz106000)))) -> False new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error new_primModNatS02(vuz130, vuz131, Zero, Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS02(vuz75000, vuz74000, vuz75000, vuz74000) The set Q consists of the following terms: new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primMinusNatS1 new_esEs(Integer(Pos(Zero))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_esEs(Integer(Neg(Succ(x0)))) new_primMinusNatS2(Succ(x0), Zero) new_primMinusNatS2(Zero, Zero) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Integer(x0), Integer(x1)) new_primModNatS02(x0, x1, Zero, 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) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_esEs(Integer(Neg(Zero))) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_esEs(Integer(Pos(Succ(x0)))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (739) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (740) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(vuz102, vuz109) -> new_gcd0Gcd'(vuz109, vuz102) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS02(x0, x1, x0, x1)))), Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) new_gcd0Gcd'1(False, vuz102, vuz104) -> new_gcd0Gcd'0(vuz102, new_rem(vuz104, vuz102)) new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS02(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'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS02(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'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(Succ(Zero)))), Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(new_primMinusNatS1, Zero)))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Zero)))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS02(x0, x1, x0, x1)))), Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(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_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primMinusNatS0(vuz32000) -> Succ(vuz32000) new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error new_primModNatS01(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error new_primModNatS1(Zero, vuz7400) -> Zero new_esEs(Integer(Pos(Succ(vuz106000)))) -> False new_rem(Integer(vuz1040), Integer(vuz1020)) -> Integer(new_primRemInt(vuz1040, vuz1020)) new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero new_error -> error([]) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS02(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_esEs(Integer(Neg(Zero))) -> True new_primModNatS02(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_esEs(Integer(Pos(Zero))) -> True new_esEs(Integer(Neg(Succ(vuz106000)))) -> False new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error new_primModNatS02(vuz130, vuz131, Zero, Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS02(vuz75000, vuz74000, vuz75000, vuz74000) The set Q consists of the following terms: new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primMinusNatS1 new_esEs(Integer(Pos(Zero))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_esEs(Integer(Neg(Succ(x0)))) new_primMinusNatS2(Succ(x0), Zero) new_primMinusNatS2(Zero, Zero) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Integer(x0), Integer(x1)) new_primModNatS02(x0, x1, Zero, 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) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_esEs(Integer(Neg(Zero))) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_esEs(Integer(Pos(Succ(x0)))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) 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'1(new_esEs(Integer(Neg(new_primModNatS1(new_primMinusNatS0(x0), 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'1(new_esEs(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'1(new_esEs(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'0(vuz102, vuz109) -> new_gcd0Gcd'(vuz109, vuz102) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS02(x0, x1, x0, x1)))), Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) new_gcd0Gcd'1(False, vuz102, vuz104) -> new_gcd0Gcd'0(vuz102, new_rem(vuz104, vuz102)) new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS02(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'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS02(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'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(Succ(Zero)))), Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(new_primMinusNatS1, Zero)))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Zero)))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS02(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'1(new_esEs(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_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primMinusNatS0(vuz32000) -> Succ(vuz32000) new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error new_primModNatS01(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error new_primModNatS1(Zero, vuz7400) -> Zero new_esEs(Integer(Pos(Succ(vuz106000)))) -> False new_rem(Integer(vuz1040), Integer(vuz1020)) -> Integer(new_primRemInt(vuz1040, vuz1020)) new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero new_error -> error([]) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS02(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_esEs(Integer(Neg(Zero))) -> True new_primModNatS02(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_esEs(Integer(Pos(Zero))) -> True new_esEs(Integer(Neg(Succ(vuz106000)))) -> False new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error new_primModNatS02(vuz130, vuz131, Zero, Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS02(vuz75000, vuz74000, vuz75000, vuz74000) The set Q consists of the following terms: new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primMinusNatS1 new_esEs(Integer(Pos(Zero))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_esEs(Integer(Neg(Succ(x0)))) new_primMinusNatS2(Succ(x0), Zero) new_primMinusNatS2(Zero, Zero) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Integer(x0), Integer(x1)) new_primModNatS02(x0, x1, Zero, 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) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_esEs(Integer(Neg(Zero))) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_esEs(Integer(Pos(Succ(x0)))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) 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(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(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'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))),new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero))))) ---------------------------------------- (744) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(vuz102, vuz109) -> new_gcd0Gcd'(vuz109, vuz102) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS02(x0, x1, x0, x1)))), Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) new_gcd0Gcd'1(False, vuz102, vuz104) -> new_gcd0Gcd'0(vuz102, new_rem(vuz104, vuz102)) new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS02(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'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS02(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'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(new_primMinusNatS1, Zero)))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Zero)))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS02(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'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 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_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primMinusNatS0(vuz32000) -> Succ(vuz32000) new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error new_primModNatS01(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error new_primModNatS1(Zero, vuz7400) -> Zero new_esEs(Integer(Pos(Succ(vuz106000)))) -> False new_rem(Integer(vuz1040), Integer(vuz1020)) -> Integer(new_primRemInt(vuz1040, vuz1020)) new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero new_error -> error([]) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS02(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_esEs(Integer(Neg(Zero))) -> True new_primModNatS02(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_esEs(Integer(Pos(Zero))) -> True new_esEs(Integer(Neg(Succ(vuz106000)))) -> False new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error new_primModNatS02(vuz130, vuz131, Zero, Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS02(vuz75000, vuz74000, vuz75000, vuz74000) The set Q consists of the following terms: new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primMinusNatS1 new_esEs(Integer(Pos(Zero))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_esEs(Integer(Neg(Succ(x0)))) new_primMinusNatS2(Succ(x0), Zero) new_primMinusNatS2(Zero, Zero) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Integer(x0), Integer(x1)) new_primModNatS02(x0, x1, Zero, 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) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_esEs(Integer(Neg(Zero))) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_esEs(Integer(Pos(Succ(x0)))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (745) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(new_primMinusNatS1, 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'1(new_esEs(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'1(new_esEs(Integer(Neg(new_primModNatS1(Zero, Zero)))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Zero))))) ---------------------------------------- (746) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(vuz102, vuz109) -> new_gcd0Gcd'(vuz109, vuz102) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS02(x0, x1, x0, x1)))), Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) new_gcd0Gcd'1(False, vuz102, vuz104) -> new_gcd0Gcd'0(vuz102, new_rem(vuz104, vuz102)) new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS02(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'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS02(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'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS02(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'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(Zero, Zero)))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Zero)))) 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_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primMinusNatS0(vuz32000) -> Succ(vuz32000) new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error new_primModNatS01(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error new_primModNatS1(Zero, vuz7400) -> Zero new_esEs(Integer(Pos(Succ(vuz106000)))) -> False new_rem(Integer(vuz1040), Integer(vuz1020)) -> Integer(new_primRemInt(vuz1040, vuz1020)) new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero new_error -> error([]) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS02(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_esEs(Integer(Neg(Zero))) -> True new_primModNatS02(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_esEs(Integer(Pos(Zero))) -> True new_esEs(Integer(Neg(Succ(vuz106000)))) -> False new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error new_primModNatS02(vuz130, vuz131, Zero, Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS02(vuz75000, vuz74000, vuz75000, vuz74000) The set Q consists of the following terms: new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primMinusNatS1 new_esEs(Integer(Pos(Zero))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_esEs(Integer(Neg(Succ(x0)))) new_primMinusNatS2(Succ(x0), Zero) new_primMinusNatS2(Zero, Zero) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Integer(x0), Integer(x1)) new_primModNatS02(x0, x1, Zero, 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) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_esEs(Integer(Neg(Zero))) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_esEs(Integer(Pos(Succ(x0)))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (747) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(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'1(new_esEs(Integer(Neg(Zero))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Zero)))),new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(Zero))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Zero))))) ---------------------------------------- (748) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(vuz102, vuz109) -> new_gcd0Gcd'(vuz109, vuz102) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS02(x0, x1, x0, x1)))), Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) new_gcd0Gcd'1(False, vuz102, vuz104) -> new_gcd0Gcd'0(vuz102, new_rem(vuz104, vuz102)) new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS02(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'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS02(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'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS02(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'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(Zero))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Zero)))) 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_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primMinusNatS0(vuz32000) -> Succ(vuz32000) new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error new_primModNatS01(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error new_primModNatS1(Zero, vuz7400) -> Zero new_esEs(Integer(Pos(Succ(vuz106000)))) -> False new_rem(Integer(vuz1040), Integer(vuz1020)) -> Integer(new_primRemInt(vuz1040, vuz1020)) new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero new_error -> error([]) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS02(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_esEs(Integer(Neg(Zero))) -> True new_primModNatS02(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_esEs(Integer(Pos(Zero))) -> True new_esEs(Integer(Neg(Succ(vuz106000)))) -> False new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error new_primModNatS02(vuz130, vuz131, Zero, Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS02(vuz75000, vuz74000, vuz75000, vuz74000) The set Q consists of the following terms: new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primMinusNatS1 new_esEs(Integer(Pos(Zero))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_esEs(Integer(Neg(Succ(x0)))) new_primMinusNatS2(Succ(x0), Zero) new_primMinusNatS2(Zero, Zero) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Integer(x0), Integer(x1)) new_primModNatS02(x0, x1, Zero, 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) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_esEs(Integer(Neg(Zero))) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_esEs(Integer(Pos(Succ(x0)))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (749) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (750) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS02(x0, x1, x0, x1)))), Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) new_gcd0Gcd'1(False, vuz102, vuz104) -> new_gcd0Gcd'0(vuz102, new_rem(vuz104, vuz102)) new_gcd0Gcd'0(vuz102, vuz109) -> new_gcd0Gcd'(vuz109, vuz102) new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS02(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'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS02(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'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS02(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'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 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_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primMinusNatS0(vuz32000) -> Succ(vuz32000) new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error new_primModNatS01(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error new_primModNatS1(Zero, vuz7400) -> Zero new_esEs(Integer(Pos(Succ(vuz106000)))) -> False new_rem(Integer(vuz1040), Integer(vuz1020)) -> Integer(new_primRemInt(vuz1040, vuz1020)) new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero new_error -> error([]) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS02(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_esEs(Integer(Neg(Zero))) -> True new_primModNatS02(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_esEs(Integer(Pos(Zero))) -> True new_esEs(Integer(Neg(Succ(vuz106000)))) -> False new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error new_primModNatS02(vuz130, vuz131, Zero, Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS02(vuz75000, vuz74000, vuz75000, vuz74000) The set Q consists of the following terms: new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primMinusNatS1 new_esEs(Integer(Pos(Zero))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_esEs(Integer(Neg(Succ(x0)))) new_primMinusNatS2(Succ(x0), Zero) new_primMinusNatS2(Zero, Zero) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Integer(x0), Integer(x1)) new_primModNatS02(x0, x1, Zero, 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) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_esEs(Integer(Neg(Zero))) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_esEs(Integer(Pos(Succ(x0)))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (751) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_gcd0Gcd'(Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS02(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(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS01(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'1(new_esEs(Integer(Pos(new_primModNatS01(Succ(x2), Zero)))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2))))))) (new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS02(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'1(new_esEs(Integer(Pos(new_primModNatS02(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'1(new_esEs(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'1(new_esEs(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'1(new_esEs(Integer(Pos(new_primModNatS01(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'1(new_esEs(Integer(Pos(new_primModNatS01(Zero, 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'1(False, vuz102, vuz104) -> new_gcd0Gcd'0(vuz102, new_rem(vuz104, vuz102)) new_gcd0Gcd'0(vuz102, vuz109) -> new_gcd0Gcd'(vuz109, vuz102) new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS02(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'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS02(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'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS02(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'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS01(Succ(x2), Zero)))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS02(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'1(new_esEs(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'1(new_esEs(Integer(Pos(new_primModNatS01(Zero, Zero)))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) 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_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primMinusNatS0(vuz32000) -> Succ(vuz32000) new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error new_primModNatS01(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error new_primModNatS1(Zero, vuz7400) -> Zero new_esEs(Integer(Pos(Succ(vuz106000)))) -> False new_rem(Integer(vuz1040), Integer(vuz1020)) -> Integer(new_primRemInt(vuz1040, vuz1020)) new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero new_error -> error([]) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS02(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_esEs(Integer(Neg(Zero))) -> True new_primModNatS02(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_esEs(Integer(Pos(Zero))) -> True new_esEs(Integer(Neg(Succ(vuz106000)))) -> False new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error new_primModNatS02(vuz130, vuz131, Zero, Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS02(vuz75000, vuz74000, vuz75000, vuz74000) The set Q consists of the following terms: new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primMinusNatS1 new_esEs(Integer(Pos(Zero))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_esEs(Integer(Neg(Succ(x0)))) new_primMinusNatS2(Succ(x0), Zero) new_primMinusNatS2(Zero, Zero) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Integer(x0), Integer(x1)) new_primModNatS02(x0, x1, Zero, 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) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_esEs(Integer(Neg(Zero))) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_esEs(Integer(Pos(Succ(x0)))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) 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'1(new_esEs(Integer(Pos(new_primModNatS01(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'1(new_esEs(Integer(Pos(new_primModNatS1(new_primMinusNatS2(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'1(new_esEs(Integer(Pos(new_primModNatS1(new_primMinusNatS2(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'1(False, vuz102, vuz104) -> new_gcd0Gcd'0(vuz102, new_rem(vuz104, vuz102)) new_gcd0Gcd'0(vuz102, vuz109) -> new_gcd0Gcd'(vuz109, vuz102) new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS02(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'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS02(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'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS02(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'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(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'1(new_esEs(Integer(Pos(new_primModNatS02(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'1(new_esEs(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'1(new_esEs(Integer(Pos(new_primModNatS01(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'1(new_esEs(Integer(Pos(new_primModNatS1(new_primMinusNatS2(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_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primMinusNatS0(vuz32000) -> Succ(vuz32000) new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error new_primModNatS01(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error new_primModNatS1(Zero, vuz7400) -> Zero new_esEs(Integer(Pos(Succ(vuz106000)))) -> False new_rem(Integer(vuz1040), Integer(vuz1020)) -> Integer(new_primRemInt(vuz1040, vuz1020)) new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero new_error -> error([]) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS02(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_esEs(Integer(Neg(Zero))) -> True new_primModNatS02(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_esEs(Integer(Pos(Zero))) -> True new_esEs(Integer(Neg(Succ(vuz106000)))) -> False new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error new_primModNatS02(vuz130, vuz131, Zero, Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS02(vuz75000, vuz74000, vuz75000, vuz74000) The set Q consists of the following terms: new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primMinusNatS1 new_esEs(Integer(Pos(Zero))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_esEs(Integer(Neg(Succ(x0)))) new_primMinusNatS2(Succ(x0), Zero) new_primMinusNatS2(Zero, Zero) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Integer(x0), Integer(x1)) new_primModNatS02(x0, x1, Zero, 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) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_esEs(Integer(Neg(Zero))) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_esEs(Integer(Pos(Succ(x0)))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) 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(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(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'1(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'1(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero)))))) ---------------------------------------- (756) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, vuz102, vuz104) -> new_gcd0Gcd'0(vuz102, new_rem(vuz104, vuz102)) new_gcd0Gcd'0(vuz102, vuz109) -> new_gcd0Gcd'(vuz109, vuz102) new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS02(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'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS02(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'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS02(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'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(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'1(new_esEs(Integer(Pos(new_primModNatS02(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'1(new_esEs(Integer(Pos(new_primModNatS01(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'1(new_esEs(Integer(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(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'1(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) 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_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primMinusNatS0(vuz32000) -> Succ(vuz32000) new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error new_primModNatS01(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error new_primModNatS1(Zero, vuz7400) -> Zero new_esEs(Integer(Pos(Succ(vuz106000)))) -> False new_rem(Integer(vuz1040), Integer(vuz1020)) -> Integer(new_primRemInt(vuz1040, vuz1020)) new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero new_error -> error([]) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS02(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_esEs(Integer(Neg(Zero))) -> True new_primModNatS02(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_esEs(Integer(Pos(Zero))) -> True new_esEs(Integer(Neg(Succ(vuz106000)))) -> False new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error new_primModNatS02(vuz130, vuz131, Zero, Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS02(vuz75000, vuz74000, vuz75000, vuz74000) The set Q consists of the following terms: new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primMinusNatS1 new_esEs(Integer(Pos(Zero))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_esEs(Integer(Neg(Succ(x0)))) new_primMinusNatS2(Succ(x0), Zero) new_primMinusNatS2(Zero, Zero) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Integer(x0), Integer(x1)) new_primModNatS02(x0, x1, Zero, 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) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_esEs(Integer(Neg(Zero))) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_esEs(Integer(Pos(Succ(x0)))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) 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(Zero))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS01(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'1(new_esEs(Integer(Pos(new_primModNatS1(new_primMinusNatS2(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'1(new_esEs(Integer(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero)))))) ---------------------------------------- (758) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, vuz102, vuz104) -> new_gcd0Gcd'0(vuz102, new_rem(vuz104, vuz102)) new_gcd0Gcd'0(vuz102, vuz109) -> new_gcd0Gcd'(vuz109, vuz102) new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS02(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'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS02(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'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS02(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'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(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'1(new_esEs(Integer(Pos(new_primModNatS02(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'1(new_esEs(Integer(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(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'1(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'1(new_esEs(Integer(Pos(new_primModNatS1(new_primMinusNatS2(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_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primMinusNatS0(vuz32000) -> Succ(vuz32000) new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error new_primModNatS01(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error new_primModNatS1(Zero, vuz7400) -> Zero new_esEs(Integer(Pos(Succ(vuz106000)))) -> False new_rem(Integer(vuz1040), Integer(vuz1020)) -> Integer(new_primRemInt(vuz1040, vuz1020)) new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero new_error -> error([]) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS02(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_esEs(Integer(Neg(Zero))) -> True new_primModNatS02(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_esEs(Integer(Pos(Zero))) -> True new_esEs(Integer(Neg(Succ(vuz106000)))) -> False new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error new_primModNatS02(vuz130, vuz131, Zero, Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS02(vuz75000, vuz74000, vuz75000, vuz74000) The set Q consists of the following terms: new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primMinusNatS1 new_esEs(Integer(Pos(Zero))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_esEs(Integer(Neg(Succ(x0)))) new_primMinusNatS2(Succ(x0), Zero) new_primMinusNatS2(Zero, Zero) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Integer(x0), Integer(x1)) new_primModNatS02(x0, x1, Zero, 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) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_esEs(Integer(Neg(Zero))) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_esEs(Integer(Pos(Succ(x0)))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) 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(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(new_primMinusNatS2(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'1(new_esEs(Integer(Pos(new_primModNatS1(new_primMinusNatS2(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'1(new_esEs(Integer(Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2))))))) ---------------------------------------- (760) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, vuz102, vuz104) -> new_gcd0Gcd'0(vuz102, new_rem(vuz104, vuz102)) new_gcd0Gcd'0(vuz102, vuz109) -> new_gcd0Gcd'(vuz109, vuz102) new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS02(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'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS02(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'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS02(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'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(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'1(new_esEs(Integer(Pos(new_primModNatS02(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'1(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'1(new_esEs(Integer(Pos(new_primModNatS1(new_primMinusNatS2(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'1(new_esEs(Integer(Pos(new_primModNatS1(new_primMinusNatS2(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_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primMinusNatS0(vuz32000) -> Succ(vuz32000) new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error new_primModNatS01(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error new_primModNatS1(Zero, vuz7400) -> Zero new_esEs(Integer(Pos(Succ(vuz106000)))) -> False new_rem(Integer(vuz1040), Integer(vuz1020)) -> Integer(new_primRemInt(vuz1040, vuz1020)) new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero new_error -> error([]) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS02(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_esEs(Integer(Neg(Zero))) -> True new_primModNatS02(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_esEs(Integer(Pos(Zero))) -> True new_esEs(Integer(Neg(Succ(vuz106000)))) -> False new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error new_primModNatS02(vuz130, vuz131, Zero, Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS02(vuz75000, vuz74000, vuz75000, vuz74000) The set Q consists of the following terms: new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primMinusNatS1 new_esEs(Integer(Pos(Zero))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_esEs(Integer(Neg(Succ(x0)))) new_primMinusNatS2(Succ(x0), Zero) new_primMinusNatS2(Zero, Zero) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Integer(x0), Integer(x1)) new_primModNatS02(x0, x1, Zero, 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) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_esEs(Integer(Neg(Zero))) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_esEs(Integer(Pos(Succ(x0)))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) 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(Zero))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(new_primMinusNatS2(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'1(new_esEs(Integer(Pos(new_primModNatS1(new_primMinusNatS2(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'1(new_esEs(Integer(Pos(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero)))))) ---------------------------------------- (762) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, vuz102, vuz104) -> new_gcd0Gcd'0(vuz102, new_rem(vuz104, vuz102)) new_gcd0Gcd'0(vuz102, vuz109) -> new_gcd0Gcd'(vuz109, vuz102) new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS02(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'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS02(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'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS02(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'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(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'1(new_esEs(Integer(Pos(new_primModNatS02(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'1(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'1(new_esEs(Integer(Pos(new_primModNatS1(new_primMinusNatS2(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'1(new_esEs(Integer(Pos(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) 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_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primMinusNatS0(vuz32000) -> Succ(vuz32000) new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error new_primModNatS01(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error new_primModNatS1(Zero, vuz7400) -> Zero new_esEs(Integer(Pos(Succ(vuz106000)))) -> False new_rem(Integer(vuz1040), Integer(vuz1020)) -> Integer(new_primRemInt(vuz1040, vuz1020)) new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero new_error -> error([]) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS02(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_esEs(Integer(Neg(Zero))) -> True new_primModNatS02(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_esEs(Integer(Pos(Zero))) -> True new_esEs(Integer(Neg(Succ(vuz106000)))) -> False new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error new_primModNatS02(vuz130, vuz131, Zero, Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS02(vuz75000, vuz74000, vuz75000, vuz74000) The set Q consists of the following terms: new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primMinusNatS1 new_esEs(Integer(Pos(Zero))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_esEs(Integer(Neg(Succ(x0)))) new_primMinusNatS2(Succ(x0), Zero) new_primMinusNatS2(Zero, Zero) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Integer(x0), Integer(x1)) new_primModNatS02(x0, x1, Zero, 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) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_esEs(Integer(Neg(Zero))) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_esEs(Integer(Pos(Succ(x0)))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) 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(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(new_primMinusNatS2(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'1(new_esEs(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'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2))))))) ---------------------------------------- (764) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, vuz102, vuz104) -> new_gcd0Gcd'0(vuz102, new_rem(vuz104, vuz102)) new_gcd0Gcd'0(vuz102, vuz109) -> new_gcd0Gcd'(vuz109, vuz102) new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS02(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'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS02(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'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS02(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'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(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'1(new_esEs(Integer(Pos(new_primModNatS02(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'1(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'1(new_esEs(Integer(Pos(new_primModNatS1(new_primMinusNatS2(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'1(new_esEs(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_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primMinusNatS0(vuz32000) -> Succ(vuz32000) new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error new_primModNatS01(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error new_primModNatS1(Zero, vuz7400) -> Zero new_esEs(Integer(Pos(Succ(vuz106000)))) -> False new_rem(Integer(vuz1040), Integer(vuz1020)) -> Integer(new_primRemInt(vuz1040, vuz1020)) new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero new_error -> error([]) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS02(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_esEs(Integer(Neg(Zero))) -> True new_primModNatS02(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_esEs(Integer(Pos(Zero))) -> True new_esEs(Integer(Neg(Succ(vuz106000)))) -> False new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error new_primModNatS02(vuz130, vuz131, Zero, Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS02(vuz75000, vuz74000, vuz75000, vuz74000) The set Q consists of the following terms: new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primMinusNatS1 new_esEs(Integer(Pos(Zero))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_esEs(Integer(Neg(Succ(x0)))) new_primMinusNatS2(Succ(x0), Zero) new_primMinusNatS2(Zero, Zero) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Integer(x0), Integer(x1)) new_primModNatS02(x0, x1, Zero, 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) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_esEs(Integer(Neg(Zero))) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_esEs(Integer(Pos(Succ(x0)))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (765) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(new_primMinusNatS2(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'1(new_esEs(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'1(new_esEs(Integer(Pos(new_primModNatS1(Zero, Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero)))))) ---------------------------------------- (766) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, vuz102, vuz104) -> new_gcd0Gcd'0(vuz102, new_rem(vuz104, vuz102)) new_gcd0Gcd'0(vuz102, vuz109) -> new_gcd0Gcd'(vuz109, vuz102) new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS02(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'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS02(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'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS02(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'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(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'1(new_esEs(Integer(Pos(new_primModNatS02(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'1(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'1(new_esEs(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'1(new_esEs(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_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primMinusNatS0(vuz32000) -> Succ(vuz32000) new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error new_primModNatS01(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error new_primModNatS1(Zero, vuz7400) -> Zero new_esEs(Integer(Pos(Succ(vuz106000)))) -> False new_rem(Integer(vuz1040), Integer(vuz1020)) -> Integer(new_primRemInt(vuz1040, vuz1020)) new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero new_error -> error([]) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS02(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_esEs(Integer(Neg(Zero))) -> True new_primModNatS02(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_esEs(Integer(Pos(Zero))) -> True new_esEs(Integer(Neg(Succ(vuz106000)))) -> False new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error new_primModNatS02(vuz130, vuz131, Zero, Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS02(vuz75000, vuz74000, vuz75000, vuz74000) The set Q consists of the following terms: new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primMinusNatS1 new_esEs(Integer(Pos(Zero))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_esEs(Integer(Neg(Succ(x0)))) new_primMinusNatS2(Succ(x0), Zero) new_primMinusNatS2(Zero, Zero) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Integer(x0), Integer(x1)) new_primModNatS02(x0, x1, Zero, 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) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_esEs(Integer(Neg(Zero))) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_esEs(Integer(Pos(Succ(x0)))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (767) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(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'1(new_esEs(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'1(new_esEs(Integer(Pos(Zero))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero)))))) ---------------------------------------- (768) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, vuz102, vuz104) -> new_gcd0Gcd'0(vuz102, new_rem(vuz104, vuz102)) new_gcd0Gcd'0(vuz102, vuz109) -> new_gcd0Gcd'(vuz109, vuz102) new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS02(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'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS02(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'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS02(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'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(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'1(new_esEs(Integer(Pos(new_primModNatS02(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'1(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'1(new_esEs(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'1(new_esEs(Integer(Pos(Zero))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) 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_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primMinusNatS0(vuz32000) -> Succ(vuz32000) new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error new_primModNatS01(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error new_primModNatS1(Zero, vuz7400) -> Zero new_esEs(Integer(Pos(Succ(vuz106000)))) -> False new_rem(Integer(vuz1040), Integer(vuz1020)) -> Integer(new_primRemInt(vuz1040, vuz1020)) new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero new_error -> error([]) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS02(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_esEs(Integer(Neg(Zero))) -> True new_primModNatS02(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_esEs(Integer(Pos(Zero))) -> True new_esEs(Integer(Neg(Succ(vuz106000)))) -> False new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error new_primModNatS02(vuz130, vuz131, Zero, Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS02(vuz75000, vuz74000, vuz75000, vuz74000) The set Q consists of the following terms: new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primMinusNatS1 new_esEs(Integer(Pos(Zero))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_esEs(Integer(Neg(Succ(x0)))) new_primMinusNatS2(Succ(x0), Zero) new_primMinusNatS2(Zero, Zero) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Integer(x0), Integer(x1)) new_primModNatS02(x0, x1, Zero, 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) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_esEs(Integer(Neg(Zero))) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_esEs(Integer(Pos(Succ(x0)))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (769) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (770) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(vuz102, vuz109) -> new_gcd0Gcd'(vuz109, vuz102) new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) new_gcd0Gcd'1(False, vuz102, vuz104) -> new_gcd0Gcd'0(vuz102, new_rem(vuz104, vuz102)) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS02(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'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS02(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'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS02(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'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(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'1(new_esEs(Integer(Pos(new_primModNatS02(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'1(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'1(new_esEs(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_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primMinusNatS0(vuz32000) -> Succ(vuz32000) new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error new_primModNatS01(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error new_primModNatS1(Zero, vuz7400) -> Zero new_esEs(Integer(Pos(Succ(vuz106000)))) -> False new_rem(Integer(vuz1040), Integer(vuz1020)) -> Integer(new_primRemInt(vuz1040, vuz1020)) new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero new_error -> error([]) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS02(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_esEs(Integer(Neg(Zero))) -> True new_primModNatS02(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_esEs(Integer(Pos(Zero))) -> True new_esEs(Integer(Neg(Succ(vuz106000)))) -> False new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error new_primModNatS02(vuz130, vuz131, Zero, Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS02(vuz75000, vuz74000, vuz75000, vuz74000) The set Q consists of the following terms: new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primMinusNatS1 new_esEs(Integer(Pos(Zero))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_esEs(Integer(Neg(Succ(x0)))) new_primMinusNatS2(Succ(x0), Zero) new_primMinusNatS2(Zero, Zero) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Integer(x0), Integer(x1)) new_primModNatS02(x0, x1, Zero, 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) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_esEs(Integer(Neg(Zero))) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_esEs(Integer(Pos(Succ(x0)))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (771) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(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(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(new_primMinusNatS0(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'1(new_esEs(Integer(Pos(new_primModNatS1(new_primMinusNatS0(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'1(new_esEs(Integer(Pos(new_primModNatS1(new_primMinusNatS1, Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Zero))))),new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(new_primMinusNatS1, Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Zero)))))) ---------------------------------------- (772) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(vuz102, vuz109) -> new_gcd0Gcd'(vuz109, vuz102) new_gcd0Gcd'1(False, vuz102, vuz104) -> new_gcd0Gcd'0(vuz102, new_rem(vuz104, vuz102)) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS02(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'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS02(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'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS02(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'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(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'1(new_esEs(Integer(Pos(new_primModNatS02(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'1(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'1(new_esEs(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'1(new_esEs(Integer(Pos(new_primModNatS1(new_primMinusNatS0(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'1(new_esEs(Integer(Pos(new_primModNatS1(new_primMinusNatS1, Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Zero))))) 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_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primMinusNatS0(vuz32000) -> Succ(vuz32000) new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error new_primModNatS01(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error new_primModNatS1(Zero, vuz7400) -> Zero new_esEs(Integer(Pos(Succ(vuz106000)))) -> False new_rem(Integer(vuz1040), Integer(vuz1020)) -> Integer(new_primRemInt(vuz1040, vuz1020)) new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero new_error -> error([]) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS02(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_esEs(Integer(Neg(Zero))) -> True new_primModNatS02(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_esEs(Integer(Pos(Zero))) -> True new_esEs(Integer(Neg(Succ(vuz106000)))) -> False new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error new_primModNatS02(vuz130, vuz131, Zero, Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS02(vuz75000, vuz74000, vuz75000, vuz74000) The set Q consists of the following terms: new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primMinusNatS1 new_esEs(Integer(Pos(Zero))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_esEs(Integer(Neg(Succ(x0)))) new_primMinusNatS2(Succ(x0), Zero) new_primMinusNatS2(Zero, Zero) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Integer(x0), Integer(x1)) new_primModNatS02(x0, x1, Zero, 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) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_esEs(Integer(Neg(Zero))) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_esEs(Integer(Pos(Succ(x0)))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) 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(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(new_primMinusNatS0(x0), 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'1(new_esEs(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'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0))))))) ---------------------------------------- (774) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(vuz102, vuz109) -> new_gcd0Gcd'(vuz109, vuz102) new_gcd0Gcd'1(False, vuz102, vuz104) -> new_gcd0Gcd'0(vuz102, new_rem(vuz104, vuz102)) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS02(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'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS02(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'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS02(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'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(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'1(new_esEs(Integer(Pos(new_primModNatS02(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'1(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'1(new_esEs(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'1(new_esEs(Integer(Pos(new_primModNatS1(new_primMinusNatS1, Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Zero))))) new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(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_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primMinusNatS0(vuz32000) -> Succ(vuz32000) new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error new_primModNatS01(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error new_primModNatS1(Zero, vuz7400) -> Zero new_esEs(Integer(Pos(Succ(vuz106000)))) -> False new_rem(Integer(vuz1040), Integer(vuz1020)) -> Integer(new_primRemInt(vuz1040, vuz1020)) new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero new_error -> error([]) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS02(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_esEs(Integer(Neg(Zero))) -> True new_primModNatS02(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_esEs(Integer(Pos(Zero))) -> True new_esEs(Integer(Neg(Succ(vuz106000)))) -> False new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error new_primModNatS02(vuz130, vuz131, Zero, Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS02(vuz75000, vuz74000, vuz75000, vuz74000) The set Q consists of the following terms: new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primMinusNatS1 new_esEs(Integer(Pos(Zero))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_esEs(Integer(Neg(Succ(x0)))) new_primMinusNatS2(Succ(x0), Zero) new_primMinusNatS2(Zero, Zero) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Integer(x0), Integer(x1)) new_primModNatS02(x0, x1, Zero, 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) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_esEs(Integer(Neg(Zero))) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_esEs(Integer(Pos(Succ(x0)))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (775) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(new_primMinusNatS1, 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'1(new_esEs(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'1(new_esEs(Integer(Pos(new_primModNatS1(Zero, Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Zero)))))) ---------------------------------------- (776) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(vuz102, vuz109) -> new_gcd0Gcd'(vuz109, vuz102) new_gcd0Gcd'1(False, vuz102, vuz104) -> new_gcd0Gcd'0(vuz102, new_rem(vuz104, vuz102)) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS02(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'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS02(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'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS02(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'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(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'1(new_esEs(Integer(Pos(new_primModNatS02(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'1(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'1(new_esEs(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'1(new_esEs(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'1(new_esEs(Integer(Pos(new_primModNatS1(Zero, Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Zero))))) 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_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primMinusNatS0(vuz32000) -> Succ(vuz32000) new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error new_primModNatS01(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error new_primModNatS1(Zero, vuz7400) -> Zero new_esEs(Integer(Pos(Succ(vuz106000)))) -> False new_rem(Integer(vuz1040), Integer(vuz1020)) -> Integer(new_primRemInt(vuz1040, vuz1020)) new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero new_error -> error([]) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS02(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_esEs(Integer(Neg(Zero))) -> True new_primModNatS02(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_esEs(Integer(Pos(Zero))) -> True new_esEs(Integer(Neg(Succ(vuz106000)))) -> False new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error new_primModNatS02(vuz130, vuz131, Zero, Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS02(vuz75000, vuz74000, vuz75000, vuz74000) The set Q consists of the following terms: new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primMinusNatS1 new_esEs(Integer(Pos(Zero))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_esEs(Integer(Neg(Succ(x0)))) new_primMinusNatS2(Succ(x0), Zero) new_primMinusNatS2(Zero, Zero) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Integer(x0), Integer(x1)) new_primModNatS02(x0, x1, Zero, 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) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_esEs(Integer(Neg(Zero))) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_esEs(Integer(Pos(Succ(x0)))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (777) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(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'1(new_esEs(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'1(new_esEs(Integer(Pos(Zero))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Zero)))))) ---------------------------------------- (778) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(vuz102, vuz109) -> new_gcd0Gcd'(vuz109, vuz102) new_gcd0Gcd'1(False, vuz102, vuz104) -> new_gcd0Gcd'0(vuz102, new_rem(vuz104, vuz102)) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS02(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'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS02(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'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS02(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'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(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'1(new_esEs(Integer(Pos(new_primModNatS02(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'1(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'1(new_esEs(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'1(new_esEs(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'1(new_esEs(Integer(Pos(Zero))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Zero))))) 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_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primMinusNatS0(vuz32000) -> Succ(vuz32000) new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error new_primModNatS01(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error new_primModNatS1(Zero, vuz7400) -> Zero new_esEs(Integer(Pos(Succ(vuz106000)))) -> False new_rem(Integer(vuz1040), Integer(vuz1020)) -> Integer(new_primRemInt(vuz1040, vuz1020)) new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero new_error -> error([]) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS02(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_esEs(Integer(Neg(Zero))) -> True new_primModNatS02(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_esEs(Integer(Pos(Zero))) -> True new_esEs(Integer(Neg(Succ(vuz106000)))) -> False new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error new_primModNatS02(vuz130, vuz131, Zero, Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS02(vuz75000, vuz74000, vuz75000, vuz74000) The set Q consists of the following terms: new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primMinusNatS1 new_esEs(Integer(Pos(Zero))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_esEs(Integer(Neg(Succ(x0)))) new_primMinusNatS2(Succ(x0), Zero) new_primMinusNatS2(Zero, Zero) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Integer(x0), Integer(x1)) new_primModNatS02(x0, x1, Zero, 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) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_esEs(Integer(Neg(Zero))) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_esEs(Integer(Pos(Succ(x0)))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (779) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (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'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'1(False, vuz102, vuz104) -> new_gcd0Gcd'0(vuz102, new_rem(vuz104, vuz102)) new_gcd0Gcd'0(vuz102, vuz109) -> new_gcd0Gcd'(vuz109, vuz102) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS02(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'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS02(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'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS02(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'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(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'1(new_esEs(Integer(Pos(new_primModNatS02(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'1(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'1(new_esEs(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'1(new_esEs(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_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primMinusNatS0(vuz32000) -> Succ(vuz32000) new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error new_primModNatS01(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error new_primModNatS1(Zero, vuz7400) -> Zero new_esEs(Integer(Pos(Succ(vuz106000)))) -> False new_rem(Integer(vuz1040), Integer(vuz1020)) -> Integer(new_primRemInt(vuz1040, vuz1020)) new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero new_error -> error([]) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS02(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_esEs(Integer(Neg(Zero))) -> True new_primModNatS02(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_esEs(Integer(Pos(Zero))) -> True new_esEs(Integer(Neg(Succ(vuz106000)))) -> False new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error new_primModNatS02(vuz130, vuz131, Zero, Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS02(vuz75000, vuz74000, vuz75000, vuz74000) The set Q consists of the following terms: new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primMinusNatS1 new_esEs(Integer(Pos(Zero))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_esEs(Integer(Neg(Succ(x0)))) new_primMinusNatS2(Succ(x0), Zero) new_primMinusNatS2(Zero, Zero) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Integer(x0), Integer(x1)) new_primModNatS02(x0, x1, Zero, 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) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_esEs(Integer(Neg(Zero))) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_esEs(Integer(Pos(Succ(x0)))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (781) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_gcd0Gcd'(Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS02(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(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS01(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'1(new_esEs(Integer(Pos(new_primModNatS01(Succ(x2), Zero)))), Integer(Pos(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'1(new_esEs(Integer(Pos(new_primModNatS02(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'1(new_esEs(Integer(Pos(new_primModNatS02(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'1(new_esEs(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'1(new_esEs(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'1(new_esEs(Integer(Pos(new_primModNatS01(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'1(new_esEs(Integer(Pos(new_primModNatS01(Zero, 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'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'1(False, vuz102, vuz104) -> new_gcd0Gcd'0(vuz102, new_rem(vuz104, vuz102)) new_gcd0Gcd'0(vuz102, vuz109) -> new_gcd0Gcd'(vuz109, vuz102) new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS02(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'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS02(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'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(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'1(new_esEs(Integer(Pos(new_primModNatS02(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'1(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'1(new_esEs(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'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS01(Succ(x2), Zero)))), Integer(Pos(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'1(new_esEs(Integer(Pos(new_primModNatS02(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'1(new_esEs(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'1(new_esEs(Integer(Pos(new_primModNatS01(Zero, Zero)))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) 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_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primMinusNatS0(vuz32000) -> Succ(vuz32000) new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error new_primModNatS01(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error new_primModNatS1(Zero, vuz7400) -> Zero new_esEs(Integer(Pos(Succ(vuz106000)))) -> False new_rem(Integer(vuz1040), Integer(vuz1020)) -> Integer(new_primRemInt(vuz1040, vuz1020)) new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero new_error -> error([]) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS02(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_esEs(Integer(Neg(Zero))) -> True new_primModNatS02(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_esEs(Integer(Pos(Zero))) -> True new_esEs(Integer(Neg(Succ(vuz106000)))) -> False new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error new_primModNatS02(vuz130, vuz131, Zero, Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS02(vuz75000, vuz74000, vuz75000, vuz74000) The set Q consists of the following terms: new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primMinusNatS1 new_esEs(Integer(Pos(Zero))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_esEs(Integer(Neg(Succ(x0)))) new_primMinusNatS2(Succ(x0), Zero) new_primMinusNatS2(Zero, Zero) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Integer(x0), Integer(x1)) new_primModNatS02(x0, x1, Zero, 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) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_esEs(Integer(Neg(Zero))) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_esEs(Integer(Pos(Succ(x0)))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) 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'1(new_esEs(Integer(Pos(new_primModNatS01(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'1(new_esEs(Integer(Pos(new_primModNatS1(new_primMinusNatS2(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'1(new_esEs(Integer(Pos(new_primModNatS1(new_primMinusNatS2(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'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'1(False, vuz102, vuz104) -> new_gcd0Gcd'0(vuz102, new_rem(vuz104, vuz102)) new_gcd0Gcd'0(vuz102, vuz109) -> new_gcd0Gcd'(vuz109, vuz102) new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS02(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'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS02(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'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(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'1(new_esEs(Integer(Pos(new_primModNatS02(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'1(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'1(new_esEs(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'1(new_esEs(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'1(new_esEs(Integer(Pos(new_primModNatS02(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'1(new_esEs(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'1(new_esEs(Integer(Pos(new_primModNatS01(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'1(new_esEs(Integer(Pos(new_primModNatS1(new_primMinusNatS2(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_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primMinusNatS0(vuz32000) -> Succ(vuz32000) new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error new_primModNatS01(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error new_primModNatS1(Zero, vuz7400) -> Zero new_esEs(Integer(Pos(Succ(vuz106000)))) -> False new_rem(Integer(vuz1040), Integer(vuz1020)) -> Integer(new_primRemInt(vuz1040, vuz1020)) new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero new_error -> error([]) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS02(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_esEs(Integer(Neg(Zero))) -> True new_primModNatS02(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_esEs(Integer(Pos(Zero))) -> True new_esEs(Integer(Neg(Succ(vuz106000)))) -> False new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error new_primModNatS02(vuz130, vuz131, Zero, Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS02(vuz75000, vuz74000, vuz75000, vuz74000) The set Q consists of the following terms: new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primMinusNatS1 new_esEs(Integer(Pos(Zero))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_esEs(Integer(Neg(Succ(x0)))) new_primMinusNatS2(Succ(x0), Zero) new_primMinusNatS2(Zero, Zero) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Integer(x0), Integer(x1)) new_primModNatS02(x0, x1, Zero, 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) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_esEs(Integer(Neg(Zero))) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_esEs(Integer(Pos(Succ(x0)))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) 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(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(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'1(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'1(False, Integer(Pos(Succ(Succ(Succ(x2))))), 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'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'1(False, vuz102, vuz104) -> new_gcd0Gcd'0(vuz102, new_rem(vuz104, vuz102)) new_gcd0Gcd'0(vuz102, vuz109) -> new_gcd0Gcd'(vuz109, vuz102) new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS02(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'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS02(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'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(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'1(new_esEs(Integer(Pos(new_primModNatS02(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'1(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'1(new_esEs(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'1(new_esEs(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'1(new_esEs(Integer(Pos(new_primModNatS02(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'1(new_esEs(Integer(Pos(new_primModNatS01(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'1(new_esEs(Integer(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(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'1(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) 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_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primMinusNatS0(vuz32000) -> Succ(vuz32000) new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error new_primModNatS01(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error new_primModNatS1(Zero, vuz7400) -> Zero new_esEs(Integer(Pos(Succ(vuz106000)))) -> False new_rem(Integer(vuz1040), Integer(vuz1020)) -> Integer(new_primRemInt(vuz1040, vuz1020)) new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero new_error -> error([]) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS02(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_esEs(Integer(Neg(Zero))) -> True new_primModNatS02(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_esEs(Integer(Pos(Zero))) -> True new_esEs(Integer(Neg(Succ(vuz106000)))) -> False new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error new_primModNatS02(vuz130, vuz131, Zero, Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS02(vuz75000, vuz74000, vuz75000, vuz74000) The set Q consists of the following terms: new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primMinusNatS1 new_esEs(Integer(Pos(Zero))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_esEs(Integer(Neg(Succ(x0)))) new_primMinusNatS2(Succ(x0), Zero) new_primMinusNatS2(Zero, Zero) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Integer(x0), Integer(x1)) new_primModNatS02(x0, x1, Zero, 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) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_esEs(Integer(Neg(Zero))) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_esEs(Integer(Pos(Succ(x0)))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) 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(Zero))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS01(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'1(new_esEs(Integer(Pos(new_primModNatS1(new_primMinusNatS2(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'1(new_esEs(Integer(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero)))))) ---------------------------------------- (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'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'1(False, vuz102, vuz104) -> new_gcd0Gcd'0(vuz102, new_rem(vuz104, vuz102)) new_gcd0Gcd'0(vuz102, vuz109) -> new_gcd0Gcd'(vuz109, vuz102) new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS02(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'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS02(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'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(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'1(new_esEs(Integer(Pos(new_primModNatS02(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'1(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'1(new_esEs(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'1(new_esEs(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'1(new_esEs(Integer(Pos(new_primModNatS02(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'1(new_esEs(Integer(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(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'1(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'1(new_esEs(Integer(Pos(new_primModNatS1(new_primMinusNatS2(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_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primMinusNatS0(vuz32000) -> Succ(vuz32000) new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error new_primModNatS01(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error new_primModNatS1(Zero, vuz7400) -> Zero new_esEs(Integer(Pos(Succ(vuz106000)))) -> False new_rem(Integer(vuz1040), Integer(vuz1020)) -> Integer(new_primRemInt(vuz1040, vuz1020)) new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero new_error -> error([]) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS02(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_esEs(Integer(Neg(Zero))) -> True new_primModNatS02(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_esEs(Integer(Pos(Zero))) -> True new_esEs(Integer(Neg(Succ(vuz106000)))) -> False new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error new_primModNatS02(vuz130, vuz131, Zero, Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS02(vuz75000, vuz74000, vuz75000, vuz74000) The set Q consists of the following terms: new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primMinusNatS1 new_esEs(Integer(Pos(Zero))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_esEs(Integer(Neg(Succ(x0)))) new_primMinusNatS2(Succ(x0), Zero) new_primMinusNatS2(Zero, Zero) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Integer(x0), Integer(x1)) new_primModNatS02(x0, x1, Zero, 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) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_esEs(Integer(Neg(Zero))) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_esEs(Integer(Pos(Succ(x0)))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) 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(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(new_primMinusNatS2(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'1(new_esEs(Integer(Pos(new_primModNatS1(new_primMinusNatS2(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'1(new_esEs(Integer(Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2))))))) ---------------------------------------- (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'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'1(False, vuz102, vuz104) -> new_gcd0Gcd'0(vuz102, new_rem(vuz104, vuz102)) new_gcd0Gcd'0(vuz102, vuz109) -> new_gcd0Gcd'(vuz109, vuz102) new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS02(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'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS02(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'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(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'1(new_esEs(Integer(Pos(new_primModNatS02(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'1(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'1(new_esEs(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'1(new_esEs(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'1(new_esEs(Integer(Pos(new_primModNatS02(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'1(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'1(new_esEs(Integer(Pos(new_primModNatS1(new_primMinusNatS2(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'1(new_esEs(Integer(Pos(new_primModNatS1(new_primMinusNatS2(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_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primMinusNatS0(vuz32000) -> Succ(vuz32000) new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error new_primModNatS01(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error new_primModNatS1(Zero, vuz7400) -> Zero new_esEs(Integer(Pos(Succ(vuz106000)))) -> False new_rem(Integer(vuz1040), Integer(vuz1020)) -> Integer(new_primRemInt(vuz1040, vuz1020)) new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero new_error -> error([]) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS02(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_esEs(Integer(Neg(Zero))) -> True new_primModNatS02(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_esEs(Integer(Pos(Zero))) -> True new_esEs(Integer(Neg(Succ(vuz106000)))) -> False new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error new_primModNatS02(vuz130, vuz131, Zero, Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS02(vuz75000, vuz74000, vuz75000, vuz74000) The set Q consists of the following terms: new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primMinusNatS1 new_esEs(Integer(Pos(Zero))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_esEs(Integer(Neg(Succ(x0)))) new_primMinusNatS2(Succ(x0), Zero) new_primMinusNatS2(Zero, Zero) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Integer(x0), Integer(x1)) new_primModNatS02(x0, x1, Zero, 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) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_esEs(Integer(Neg(Zero))) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_esEs(Integer(Pos(Succ(x0)))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) 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(Zero))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(new_primMinusNatS2(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'1(new_esEs(Integer(Pos(new_primModNatS1(new_primMinusNatS2(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'1(new_esEs(Integer(Pos(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero)))))) ---------------------------------------- (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'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'1(False, vuz102, vuz104) -> new_gcd0Gcd'0(vuz102, new_rem(vuz104, vuz102)) new_gcd0Gcd'0(vuz102, vuz109) -> new_gcd0Gcd'(vuz109, vuz102) new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS02(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'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS02(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'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(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'1(new_esEs(Integer(Pos(new_primModNatS02(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'1(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'1(new_esEs(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'1(new_esEs(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'1(new_esEs(Integer(Pos(new_primModNatS02(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'1(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'1(new_esEs(Integer(Pos(new_primModNatS1(new_primMinusNatS2(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'1(new_esEs(Integer(Pos(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) 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_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primMinusNatS0(vuz32000) -> Succ(vuz32000) new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error new_primModNatS01(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error new_primModNatS1(Zero, vuz7400) -> Zero new_esEs(Integer(Pos(Succ(vuz106000)))) -> False new_rem(Integer(vuz1040), Integer(vuz1020)) -> Integer(new_primRemInt(vuz1040, vuz1020)) new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero new_error -> error([]) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS02(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_esEs(Integer(Neg(Zero))) -> True new_primModNatS02(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_esEs(Integer(Pos(Zero))) -> True new_esEs(Integer(Neg(Succ(vuz106000)))) -> False new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error new_primModNatS02(vuz130, vuz131, Zero, Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS02(vuz75000, vuz74000, vuz75000, vuz74000) The set Q consists of the following terms: new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primMinusNatS1 new_esEs(Integer(Pos(Zero))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_esEs(Integer(Neg(Succ(x0)))) new_primMinusNatS2(Succ(x0), Zero) new_primMinusNatS2(Zero, Zero) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Integer(x0), Integer(x1)) new_primModNatS02(x0, x1, Zero, 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) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_esEs(Integer(Neg(Zero))) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_esEs(Integer(Pos(Succ(x0)))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) 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(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(new_primMinusNatS2(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'1(new_esEs(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'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2))))))) ---------------------------------------- (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'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'1(False, vuz102, vuz104) -> new_gcd0Gcd'0(vuz102, new_rem(vuz104, vuz102)) new_gcd0Gcd'0(vuz102, vuz109) -> new_gcd0Gcd'(vuz109, vuz102) new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS02(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'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS02(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'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(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'1(new_esEs(Integer(Pos(new_primModNatS02(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'1(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'1(new_esEs(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'1(new_esEs(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'1(new_esEs(Integer(Pos(new_primModNatS02(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'1(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'1(new_esEs(Integer(Pos(new_primModNatS1(new_primMinusNatS2(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'1(new_esEs(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_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primMinusNatS0(vuz32000) -> Succ(vuz32000) new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error new_primModNatS01(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error new_primModNatS1(Zero, vuz7400) -> Zero new_esEs(Integer(Pos(Succ(vuz106000)))) -> False new_rem(Integer(vuz1040), Integer(vuz1020)) -> Integer(new_primRemInt(vuz1040, vuz1020)) new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero new_error -> error([]) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS02(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_esEs(Integer(Neg(Zero))) -> True new_primModNatS02(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_esEs(Integer(Pos(Zero))) -> True new_esEs(Integer(Neg(Succ(vuz106000)))) -> False new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error new_primModNatS02(vuz130, vuz131, Zero, Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS02(vuz75000, vuz74000, vuz75000, vuz74000) The set Q consists of the following terms: new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primMinusNatS1 new_esEs(Integer(Pos(Zero))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_esEs(Integer(Neg(Succ(x0)))) new_primMinusNatS2(Succ(x0), Zero) new_primMinusNatS2(Zero, Zero) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Integer(x0), Integer(x1)) new_primModNatS02(x0, x1, Zero, 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) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_esEs(Integer(Neg(Zero))) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_esEs(Integer(Pos(Succ(x0)))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (795) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(new_primMinusNatS2(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'1(new_esEs(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'1(new_esEs(Integer(Pos(new_primModNatS1(Zero, Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero)))))) ---------------------------------------- (796) 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'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'1(False, vuz102, vuz104) -> new_gcd0Gcd'0(vuz102, new_rem(vuz104, vuz102)) new_gcd0Gcd'0(vuz102, vuz109) -> new_gcd0Gcd'(vuz109, vuz102) new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS02(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'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS02(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'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(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'1(new_esEs(Integer(Pos(new_primModNatS02(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'1(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'1(new_esEs(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'1(new_esEs(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'1(new_esEs(Integer(Pos(new_primModNatS02(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'1(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'1(new_esEs(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'1(new_esEs(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_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primMinusNatS0(vuz32000) -> Succ(vuz32000) new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error new_primModNatS01(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error new_primModNatS1(Zero, vuz7400) -> Zero new_esEs(Integer(Pos(Succ(vuz106000)))) -> False new_rem(Integer(vuz1040), Integer(vuz1020)) -> Integer(new_primRemInt(vuz1040, vuz1020)) new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero new_error -> error([]) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS02(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_esEs(Integer(Neg(Zero))) -> True new_primModNatS02(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_esEs(Integer(Pos(Zero))) -> True new_esEs(Integer(Neg(Succ(vuz106000)))) -> False new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error new_primModNatS02(vuz130, vuz131, Zero, Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS02(vuz75000, vuz74000, vuz75000, vuz74000) The set Q consists of the following terms: new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primMinusNatS1 new_esEs(Integer(Pos(Zero))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_esEs(Integer(Neg(Succ(x0)))) new_primMinusNatS2(Succ(x0), Zero) new_primMinusNatS2(Zero, Zero) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Integer(x0), Integer(x1)) new_primModNatS02(x0, x1, Zero, 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) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_esEs(Integer(Neg(Zero))) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_esEs(Integer(Pos(Succ(x0)))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (797) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(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'1(new_esEs(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'1(new_esEs(Integer(Pos(Zero))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero)))))) ---------------------------------------- (798) 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'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'1(False, vuz102, vuz104) -> new_gcd0Gcd'0(vuz102, new_rem(vuz104, vuz102)) new_gcd0Gcd'0(vuz102, vuz109) -> new_gcd0Gcd'(vuz109, vuz102) new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS02(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'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS02(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'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(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'1(new_esEs(Integer(Pos(new_primModNatS02(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'1(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'1(new_esEs(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'1(new_esEs(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'1(new_esEs(Integer(Pos(new_primModNatS02(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'1(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'1(new_esEs(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'1(new_esEs(Integer(Pos(Zero))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) 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_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primMinusNatS0(vuz32000) -> Succ(vuz32000) new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error new_primModNatS01(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error new_primModNatS1(Zero, vuz7400) -> Zero new_esEs(Integer(Pos(Succ(vuz106000)))) -> False new_rem(Integer(vuz1040), Integer(vuz1020)) -> Integer(new_primRemInt(vuz1040, vuz1020)) new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero new_error -> error([]) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS02(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_esEs(Integer(Neg(Zero))) -> True new_primModNatS02(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_esEs(Integer(Pos(Zero))) -> True new_esEs(Integer(Neg(Succ(vuz106000)))) -> False new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error new_primModNatS02(vuz130, vuz131, Zero, Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS02(vuz75000, vuz74000, vuz75000, vuz74000) The set Q consists of the following terms: new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primMinusNatS1 new_esEs(Integer(Pos(Zero))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_esEs(Integer(Neg(Succ(x0)))) new_primMinusNatS2(Succ(x0), Zero) new_primMinusNatS2(Zero, Zero) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Integer(x0), Integer(x1)) new_primModNatS02(x0, x1, Zero, 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) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_esEs(Integer(Neg(Zero))) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_esEs(Integer(Pos(Succ(x0)))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (799) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (800) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, vuz102, vuz104) -> new_gcd0Gcd'0(vuz102, new_rem(vuz104, vuz102)) new_gcd0Gcd'0(vuz102, vuz109) -> new_gcd0Gcd'(vuz109, vuz102) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS02(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'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS02(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'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(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'1(new_esEs(Integer(Pos(new_primModNatS02(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'1(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'1(new_esEs(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'1(new_esEs(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'1(new_esEs(Integer(Pos(new_primModNatS02(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'1(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'1(new_esEs(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_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primMinusNatS0(vuz32000) -> Succ(vuz32000) new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error new_primModNatS01(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error new_primModNatS1(Zero, vuz7400) -> Zero new_esEs(Integer(Pos(Succ(vuz106000)))) -> False new_rem(Integer(vuz1040), Integer(vuz1020)) -> Integer(new_primRemInt(vuz1040, vuz1020)) new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero new_error -> error([]) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS02(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_esEs(Integer(Neg(Zero))) -> True new_primModNatS02(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_esEs(Integer(Pos(Zero))) -> True new_esEs(Integer(Neg(Succ(vuz106000)))) -> False new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error new_primModNatS02(vuz130, vuz131, Zero, Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS02(vuz75000, vuz74000, vuz75000, vuz74000) The set Q consists of the following terms: new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primMinusNatS1 new_esEs(Integer(Pos(Zero))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_esEs(Integer(Neg(Succ(x0)))) new_primMinusNatS2(Succ(x0), Zero) new_primMinusNatS2(Zero, Zero) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Integer(x0), Integer(x1)) new_primModNatS02(x0, x1, Zero, 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) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_esEs(Integer(Neg(Zero))) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_esEs(Integer(Pos(Succ(x0)))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (801) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(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(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(new_primMinusNatS0(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'1(new_esEs(Integer(Pos(new_primModNatS1(new_primMinusNatS0(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'1(new_esEs(Integer(Pos(new_primModNatS1(new_primMinusNatS1, Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Zero))))),new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(new_primMinusNatS1, Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Zero)))))) ---------------------------------------- (802) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, vuz102, vuz104) -> new_gcd0Gcd'0(vuz102, new_rem(vuz104, vuz102)) new_gcd0Gcd'0(vuz102, vuz109) -> new_gcd0Gcd'(vuz109, vuz102) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS02(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'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS02(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'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(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'1(new_esEs(Integer(Pos(new_primModNatS02(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'1(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'1(new_esEs(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'1(new_esEs(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'1(new_esEs(Integer(Pos(new_primModNatS02(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'1(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'1(new_esEs(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'1(new_esEs(Integer(Pos(new_primModNatS1(new_primMinusNatS0(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'1(new_esEs(Integer(Pos(new_primModNatS1(new_primMinusNatS1, Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Zero))))) 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_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primMinusNatS0(vuz32000) -> Succ(vuz32000) new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error new_primModNatS01(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error new_primModNatS1(Zero, vuz7400) -> Zero new_esEs(Integer(Pos(Succ(vuz106000)))) -> False new_rem(Integer(vuz1040), Integer(vuz1020)) -> Integer(new_primRemInt(vuz1040, vuz1020)) new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero new_error -> error([]) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS02(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_esEs(Integer(Neg(Zero))) -> True new_primModNatS02(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_esEs(Integer(Pos(Zero))) -> True new_esEs(Integer(Neg(Succ(vuz106000)))) -> False new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error new_primModNatS02(vuz130, vuz131, Zero, Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS02(vuz75000, vuz74000, vuz75000, vuz74000) The set Q consists of the following terms: new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primMinusNatS1 new_esEs(Integer(Pos(Zero))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_esEs(Integer(Neg(Succ(x0)))) new_primMinusNatS2(Succ(x0), Zero) new_primMinusNatS2(Zero, Zero) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Integer(x0), Integer(x1)) new_primModNatS02(x0, x1, Zero, 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) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_esEs(Integer(Neg(Zero))) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_esEs(Integer(Pos(Succ(x0)))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) 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(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(new_primMinusNatS0(x0), 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'1(new_esEs(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'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0))))))) ---------------------------------------- (804) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, vuz102, vuz104) -> new_gcd0Gcd'0(vuz102, new_rem(vuz104, vuz102)) new_gcd0Gcd'0(vuz102, vuz109) -> new_gcd0Gcd'(vuz109, vuz102) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS02(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'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS02(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'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(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'1(new_esEs(Integer(Pos(new_primModNatS02(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'1(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'1(new_esEs(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'1(new_esEs(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'1(new_esEs(Integer(Pos(new_primModNatS02(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'1(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'1(new_esEs(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'1(new_esEs(Integer(Pos(new_primModNatS1(new_primMinusNatS1, Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Zero))))) new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(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_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primMinusNatS0(vuz32000) -> Succ(vuz32000) new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error new_primModNatS01(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error new_primModNatS1(Zero, vuz7400) -> Zero new_esEs(Integer(Pos(Succ(vuz106000)))) -> False new_rem(Integer(vuz1040), Integer(vuz1020)) -> Integer(new_primRemInt(vuz1040, vuz1020)) new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero new_error -> error([]) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS02(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_esEs(Integer(Neg(Zero))) -> True new_primModNatS02(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_esEs(Integer(Pos(Zero))) -> True new_esEs(Integer(Neg(Succ(vuz106000)))) -> False new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error new_primModNatS02(vuz130, vuz131, Zero, Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS02(vuz75000, vuz74000, vuz75000, vuz74000) The set Q consists of the following terms: new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primMinusNatS1 new_esEs(Integer(Pos(Zero))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_esEs(Integer(Neg(Succ(x0)))) new_primMinusNatS2(Succ(x0), Zero) new_primMinusNatS2(Zero, Zero) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Integer(x0), Integer(x1)) new_primModNatS02(x0, x1, Zero, 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) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_esEs(Integer(Neg(Zero))) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_esEs(Integer(Pos(Succ(x0)))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (805) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(new_primMinusNatS1, 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'1(new_esEs(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'1(new_esEs(Integer(Pos(new_primModNatS1(Zero, Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Zero)))))) ---------------------------------------- (806) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, vuz102, vuz104) -> new_gcd0Gcd'0(vuz102, new_rem(vuz104, vuz102)) new_gcd0Gcd'0(vuz102, vuz109) -> new_gcd0Gcd'(vuz109, vuz102) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS02(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'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS02(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'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(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'1(new_esEs(Integer(Pos(new_primModNatS02(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'1(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'1(new_esEs(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'1(new_esEs(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'1(new_esEs(Integer(Pos(new_primModNatS02(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'1(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'1(new_esEs(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'1(new_esEs(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'1(new_esEs(Integer(Pos(new_primModNatS1(Zero, Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Zero))))) 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_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primMinusNatS0(vuz32000) -> Succ(vuz32000) new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error new_primModNatS01(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error new_primModNatS1(Zero, vuz7400) -> Zero new_esEs(Integer(Pos(Succ(vuz106000)))) -> False new_rem(Integer(vuz1040), Integer(vuz1020)) -> Integer(new_primRemInt(vuz1040, vuz1020)) new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero new_error -> error([]) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS02(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_esEs(Integer(Neg(Zero))) -> True new_primModNatS02(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_esEs(Integer(Pos(Zero))) -> True new_esEs(Integer(Neg(Succ(vuz106000)))) -> False new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error new_primModNatS02(vuz130, vuz131, Zero, Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS02(vuz75000, vuz74000, vuz75000, vuz74000) The set Q consists of the following terms: new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primMinusNatS1 new_esEs(Integer(Pos(Zero))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_esEs(Integer(Neg(Succ(x0)))) new_primMinusNatS2(Succ(x0), Zero) new_primMinusNatS2(Zero, Zero) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Integer(x0), Integer(x1)) new_primModNatS02(x0, x1, Zero, 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) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_esEs(Integer(Neg(Zero))) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_esEs(Integer(Pos(Succ(x0)))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (807) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(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'1(new_esEs(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'1(new_esEs(Integer(Pos(Zero))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Zero)))))) ---------------------------------------- (808) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, vuz102, vuz104) -> new_gcd0Gcd'0(vuz102, new_rem(vuz104, vuz102)) new_gcd0Gcd'0(vuz102, vuz109) -> new_gcd0Gcd'(vuz109, vuz102) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS02(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'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS02(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'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(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'1(new_esEs(Integer(Pos(new_primModNatS02(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'1(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'1(new_esEs(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'1(new_esEs(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'1(new_esEs(Integer(Pos(new_primModNatS02(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'1(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'1(new_esEs(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'1(new_esEs(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'1(new_esEs(Integer(Pos(Zero))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Zero))))) 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_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primMinusNatS0(vuz32000) -> Succ(vuz32000) new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error new_primModNatS01(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error new_primModNatS1(Zero, vuz7400) -> Zero new_esEs(Integer(Pos(Succ(vuz106000)))) -> False new_rem(Integer(vuz1040), Integer(vuz1020)) -> Integer(new_primRemInt(vuz1040, vuz1020)) new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero new_error -> error([]) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS02(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_esEs(Integer(Neg(Zero))) -> True new_primModNatS02(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_esEs(Integer(Pos(Zero))) -> True new_esEs(Integer(Neg(Succ(vuz106000)))) -> False new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error new_primModNatS02(vuz130, vuz131, Zero, Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS02(vuz75000, vuz74000, vuz75000, vuz74000) The set Q consists of the following terms: new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primMinusNatS1 new_esEs(Integer(Pos(Zero))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_esEs(Integer(Neg(Succ(x0)))) new_primMinusNatS2(Succ(x0), Zero) new_primMinusNatS2(Zero, Zero) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Integer(x0), Integer(x1)) new_primModNatS02(x0, x1, Zero, 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) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_esEs(Integer(Neg(Zero))) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_esEs(Integer(Pos(Succ(x0)))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (809) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (810) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(vuz102, vuz109) -> new_gcd0Gcd'(vuz109, vuz102) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'1(False, vuz102, vuz104) -> new_gcd0Gcd'0(vuz102, new_rem(vuz104, vuz102)) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS02(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'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS02(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'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(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'1(new_esEs(Integer(Pos(new_primModNatS02(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'1(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'1(new_esEs(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'1(new_esEs(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'1(new_esEs(Integer(Pos(new_primModNatS02(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'1(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'1(new_esEs(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'1(new_esEs(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_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primMinusNatS0(vuz32000) -> Succ(vuz32000) new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error new_primModNatS01(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error new_primModNatS1(Zero, vuz7400) -> Zero new_esEs(Integer(Pos(Succ(vuz106000)))) -> False new_rem(Integer(vuz1040), Integer(vuz1020)) -> Integer(new_primRemInt(vuz1040, vuz1020)) new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero new_error -> error([]) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS02(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_esEs(Integer(Neg(Zero))) -> True new_primModNatS02(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_esEs(Integer(Pos(Zero))) -> True new_esEs(Integer(Neg(Succ(vuz106000)))) -> False new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error new_primModNatS02(vuz130, vuz131, Zero, Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS02(vuz75000, vuz74000, vuz75000, vuz74000) The set Q consists of the following terms: new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primMinusNatS1 new_esEs(Integer(Pos(Zero))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_esEs(Integer(Neg(Succ(x0)))) new_primMinusNatS2(Succ(x0), Zero) new_primMinusNatS2(Zero, Zero) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Integer(x0), Integer(x1)) new_primModNatS02(x0, x1, Zero, 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) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_esEs(Integer(Neg(Zero))) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_esEs(Integer(Pos(Succ(x0)))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (811) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_gcd0Gcd'(Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS02(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(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS01(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'1(new_esEs(Integer(Neg(new_primModNatS01(Succ(x2), Zero)))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2))))))) (new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS02(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'1(new_esEs(Integer(Neg(new_primModNatS02(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'1(new_esEs(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'1(new_esEs(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'1(new_esEs(Integer(Neg(new_primModNatS01(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'1(new_esEs(Integer(Neg(new_primModNatS01(Zero, 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'0(vuz102, vuz109) -> new_gcd0Gcd'(vuz109, vuz102) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'1(False, vuz102, vuz104) -> new_gcd0Gcd'0(vuz102, new_rem(vuz104, vuz102)) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS02(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'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(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'1(new_esEs(Integer(Pos(new_primModNatS02(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'1(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'1(new_esEs(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'1(new_esEs(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'1(new_esEs(Integer(Pos(new_primModNatS02(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'1(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'1(new_esEs(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'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS01(Succ(x2), Zero)))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS02(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'1(new_esEs(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'1(new_esEs(Integer(Neg(new_primModNatS01(Zero, Zero)))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))) 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_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primMinusNatS0(vuz32000) -> Succ(vuz32000) new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error new_primModNatS01(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error new_primModNatS1(Zero, vuz7400) -> Zero new_esEs(Integer(Pos(Succ(vuz106000)))) -> False new_rem(Integer(vuz1040), Integer(vuz1020)) -> Integer(new_primRemInt(vuz1040, vuz1020)) new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero new_error -> error([]) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS02(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_esEs(Integer(Neg(Zero))) -> True new_primModNatS02(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_esEs(Integer(Pos(Zero))) -> True new_esEs(Integer(Neg(Succ(vuz106000)))) -> False new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error new_primModNatS02(vuz130, vuz131, Zero, Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS02(vuz75000, vuz74000, vuz75000, vuz74000) The set Q consists of the following terms: new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primMinusNatS1 new_esEs(Integer(Pos(Zero))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_esEs(Integer(Neg(Succ(x0)))) new_primMinusNatS2(Succ(x0), Zero) new_primMinusNatS2(Zero, Zero) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Integer(x0), Integer(x1)) new_primModNatS02(x0, x1, Zero, 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) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_esEs(Integer(Neg(Zero))) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_esEs(Integer(Pos(Succ(x0)))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) 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'1(new_esEs(Integer(Neg(new_primModNatS01(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'1(new_esEs(Integer(Neg(new_primModNatS1(new_primMinusNatS2(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'1(new_esEs(Integer(Neg(new_primModNatS1(new_primMinusNatS2(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'0(vuz102, vuz109) -> new_gcd0Gcd'(vuz109, vuz102) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'1(False, vuz102, vuz104) -> new_gcd0Gcd'0(vuz102, new_rem(vuz104, vuz102)) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS02(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'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(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'1(new_esEs(Integer(Pos(new_primModNatS02(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'1(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'1(new_esEs(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'1(new_esEs(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'1(new_esEs(Integer(Pos(new_primModNatS02(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'1(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'1(new_esEs(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'1(new_esEs(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'1(new_esEs(Integer(Neg(new_primModNatS02(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'1(new_esEs(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'1(new_esEs(Integer(Neg(new_primModNatS01(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'1(new_esEs(Integer(Neg(new_primModNatS1(new_primMinusNatS2(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_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primMinusNatS0(vuz32000) -> Succ(vuz32000) new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error new_primModNatS01(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error new_primModNatS1(Zero, vuz7400) -> Zero new_esEs(Integer(Pos(Succ(vuz106000)))) -> False new_rem(Integer(vuz1040), Integer(vuz1020)) -> Integer(new_primRemInt(vuz1040, vuz1020)) new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero new_error -> error([]) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS02(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_esEs(Integer(Neg(Zero))) -> True new_primModNatS02(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_esEs(Integer(Pos(Zero))) -> True new_esEs(Integer(Neg(Succ(vuz106000)))) -> False new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error new_primModNatS02(vuz130, vuz131, Zero, Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS02(vuz75000, vuz74000, vuz75000, vuz74000) The set Q consists of the following terms: new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primMinusNatS1 new_esEs(Integer(Pos(Zero))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_esEs(Integer(Neg(Succ(x0)))) new_primMinusNatS2(Succ(x0), Zero) new_primMinusNatS2(Zero, Zero) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Integer(x0), Integer(x1)) new_primModNatS02(x0, x1, Zero, 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) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_esEs(Integer(Neg(Zero))) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_esEs(Integer(Pos(Succ(x0)))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) 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(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(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'1(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'1(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero)))))) ---------------------------------------- (816) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(vuz102, vuz109) -> new_gcd0Gcd'(vuz109, vuz102) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'1(False, vuz102, vuz104) -> new_gcd0Gcd'0(vuz102, new_rem(vuz104, vuz102)) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS02(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'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(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'1(new_esEs(Integer(Pos(new_primModNatS02(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'1(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'1(new_esEs(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'1(new_esEs(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'1(new_esEs(Integer(Pos(new_primModNatS02(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'1(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'1(new_esEs(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'1(new_esEs(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'1(new_esEs(Integer(Neg(new_primModNatS02(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'1(new_esEs(Integer(Neg(new_primModNatS01(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'1(new_esEs(Integer(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(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'1(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) 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_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primMinusNatS0(vuz32000) -> Succ(vuz32000) new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error new_primModNatS01(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error new_primModNatS1(Zero, vuz7400) -> Zero new_esEs(Integer(Pos(Succ(vuz106000)))) -> False new_rem(Integer(vuz1040), Integer(vuz1020)) -> Integer(new_primRemInt(vuz1040, vuz1020)) new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero new_error -> error([]) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS02(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_esEs(Integer(Neg(Zero))) -> True new_primModNatS02(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_esEs(Integer(Pos(Zero))) -> True new_esEs(Integer(Neg(Succ(vuz106000)))) -> False new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error new_primModNatS02(vuz130, vuz131, Zero, Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS02(vuz75000, vuz74000, vuz75000, vuz74000) The set Q consists of the following terms: new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primMinusNatS1 new_esEs(Integer(Pos(Zero))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_esEs(Integer(Neg(Succ(x0)))) new_primMinusNatS2(Succ(x0), Zero) new_primMinusNatS2(Zero, Zero) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Integer(x0), Integer(x1)) new_primModNatS02(x0, x1, Zero, 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) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_esEs(Integer(Neg(Zero))) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_esEs(Integer(Pos(Succ(x0)))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) 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(Zero))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS01(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'1(new_esEs(Integer(Neg(new_primModNatS1(new_primMinusNatS2(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'1(new_esEs(Integer(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero)))))) ---------------------------------------- (818) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(vuz102, vuz109) -> new_gcd0Gcd'(vuz109, vuz102) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'1(False, vuz102, vuz104) -> new_gcd0Gcd'0(vuz102, new_rem(vuz104, vuz102)) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS02(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'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(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'1(new_esEs(Integer(Pos(new_primModNatS02(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'1(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'1(new_esEs(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'1(new_esEs(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'1(new_esEs(Integer(Pos(new_primModNatS02(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'1(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'1(new_esEs(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'1(new_esEs(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'1(new_esEs(Integer(Neg(new_primModNatS02(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'1(new_esEs(Integer(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(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'1(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'1(new_esEs(Integer(Neg(new_primModNatS1(new_primMinusNatS2(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_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primMinusNatS0(vuz32000) -> Succ(vuz32000) new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error new_primModNatS01(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error new_primModNatS1(Zero, vuz7400) -> Zero new_esEs(Integer(Pos(Succ(vuz106000)))) -> False new_rem(Integer(vuz1040), Integer(vuz1020)) -> Integer(new_primRemInt(vuz1040, vuz1020)) new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero new_error -> error([]) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS02(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_esEs(Integer(Neg(Zero))) -> True new_primModNatS02(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_esEs(Integer(Pos(Zero))) -> True new_esEs(Integer(Neg(Succ(vuz106000)))) -> False new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error new_primModNatS02(vuz130, vuz131, Zero, Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS02(vuz75000, vuz74000, vuz75000, vuz74000) The set Q consists of the following terms: new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primMinusNatS1 new_esEs(Integer(Pos(Zero))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_esEs(Integer(Neg(Succ(x0)))) new_primMinusNatS2(Succ(x0), Zero) new_primMinusNatS2(Zero, Zero) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Integer(x0), Integer(x1)) new_primModNatS02(x0, x1, Zero, 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) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_esEs(Integer(Neg(Zero))) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_esEs(Integer(Pos(Succ(x0)))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) 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(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(new_primMinusNatS2(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'1(new_esEs(Integer(Neg(new_primModNatS1(new_primMinusNatS2(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'1(new_esEs(Integer(Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2))))))) ---------------------------------------- (820) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(vuz102, vuz109) -> new_gcd0Gcd'(vuz109, vuz102) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'1(False, vuz102, vuz104) -> new_gcd0Gcd'0(vuz102, new_rem(vuz104, vuz102)) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS02(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'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(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'1(new_esEs(Integer(Pos(new_primModNatS02(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'1(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'1(new_esEs(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'1(new_esEs(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'1(new_esEs(Integer(Pos(new_primModNatS02(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'1(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'1(new_esEs(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'1(new_esEs(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'1(new_esEs(Integer(Neg(new_primModNatS02(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'1(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'1(new_esEs(Integer(Neg(new_primModNatS1(new_primMinusNatS2(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'1(new_esEs(Integer(Neg(new_primModNatS1(new_primMinusNatS2(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_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primMinusNatS0(vuz32000) -> Succ(vuz32000) new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error new_primModNatS01(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error new_primModNatS1(Zero, vuz7400) -> Zero new_esEs(Integer(Pos(Succ(vuz106000)))) -> False new_rem(Integer(vuz1040), Integer(vuz1020)) -> Integer(new_primRemInt(vuz1040, vuz1020)) new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero new_error -> error([]) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS02(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_esEs(Integer(Neg(Zero))) -> True new_primModNatS02(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_esEs(Integer(Pos(Zero))) -> True new_esEs(Integer(Neg(Succ(vuz106000)))) -> False new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error new_primModNatS02(vuz130, vuz131, Zero, Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS02(vuz75000, vuz74000, vuz75000, vuz74000) The set Q consists of the following terms: new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primMinusNatS1 new_esEs(Integer(Pos(Zero))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_esEs(Integer(Neg(Succ(x0)))) new_primMinusNatS2(Succ(x0), Zero) new_primMinusNatS2(Zero, Zero) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Integer(x0), Integer(x1)) new_primModNatS02(x0, x1, Zero, 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) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_esEs(Integer(Neg(Zero))) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_esEs(Integer(Pos(Succ(x0)))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) 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(Zero))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(new_primMinusNatS2(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'1(new_esEs(Integer(Neg(new_primModNatS1(new_primMinusNatS2(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'1(new_esEs(Integer(Neg(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero)))))) ---------------------------------------- (822) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(vuz102, vuz109) -> new_gcd0Gcd'(vuz109, vuz102) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'1(False, vuz102, vuz104) -> new_gcd0Gcd'0(vuz102, new_rem(vuz104, vuz102)) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS02(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'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(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'1(new_esEs(Integer(Pos(new_primModNatS02(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'1(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'1(new_esEs(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'1(new_esEs(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'1(new_esEs(Integer(Pos(new_primModNatS02(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'1(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'1(new_esEs(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'1(new_esEs(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'1(new_esEs(Integer(Neg(new_primModNatS02(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'1(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'1(new_esEs(Integer(Neg(new_primModNatS1(new_primMinusNatS2(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'1(new_esEs(Integer(Neg(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))) 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_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primMinusNatS0(vuz32000) -> Succ(vuz32000) new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error new_primModNatS01(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error new_primModNatS1(Zero, vuz7400) -> Zero new_esEs(Integer(Pos(Succ(vuz106000)))) -> False new_rem(Integer(vuz1040), Integer(vuz1020)) -> Integer(new_primRemInt(vuz1040, vuz1020)) new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero new_error -> error([]) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS02(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_esEs(Integer(Neg(Zero))) -> True new_primModNatS02(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_esEs(Integer(Pos(Zero))) -> True new_esEs(Integer(Neg(Succ(vuz106000)))) -> False new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error new_primModNatS02(vuz130, vuz131, Zero, Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS02(vuz75000, vuz74000, vuz75000, vuz74000) The set Q consists of the following terms: new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primMinusNatS1 new_esEs(Integer(Pos(Zero))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_esEs(Integer(Neg(Succ(x0)))) new_primMinusNatS2(Succ(x0), Zero) new_primMinusNatS2(Zero, Zero) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Integer(x0), Integer(x1)) new_primModNatS02(x0, x1, Zero, 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) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_esEs(Integer(Neg(Zero))) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_esEs(Integer(Pos(Succ(x0)))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) 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(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(new_primMinusNatS2(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'1(new_esEs(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'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2))))))) ---------------------------------------- (824) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(vuz102, vuz109) -> new_gcd0Gcd'(vuz109, vuz102) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'1(False, vuz102, vuz104) -> new_gcd0Gcd'0(vuz102, new_rem(vuz104, vuz102)) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS02(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'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(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'1(new_esEs(Integer(Pos(new_primModNatS02(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'1(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'1(new_esEs(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'1(new_esEs(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'1(new_esEs(Integer(Pos(new_primModNatS02(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'1(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'1(new_esEs(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'1(new_esEs(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'1(new_esEs(Integer(Neg(new_primModNatS02(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'1(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'1(new_esEs(Integer(Neg(new_primModNatS1(new_primMinusNatS2(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'1(new_esEs(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_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primMinusNatS0(vuz32000) -> Succ(vuz32000) new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error new_primModNatS01(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error new_primModNatS1(Zero, vuz7400) -> Zero new_esEs(Integer(Pos(Succ(vuz106000)))) -> False new_rem(Integer(vuz1040), Integer(vuz1020)) -> Integer(new_primRemInt(vuz1040, vuz1020)) new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero new_error -> error([]) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS02(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_esEs(Integer(Neg(Zero))) -> True new_primModNatS02(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_esEs(Integer(Pos(Zero))) -> True new_esEs(Integer(Neg(Succ(vuz106000)))) -> False new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error new_primModNatS02(vuz130, vuz131, Zero, Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS02(vuz75000, vuz74000, vuz75000, vuz74000) The set Q consists of the following terms: new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primMinusNatS1 new_esEs(Integer(Pos(Zero))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_esEs(Integer(Neg(Succ(x0)))) new_primMinusNatS2(Succ(x0), Zero) new_primMinusNatS2(Zero, Zero) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Integer(x0), Integer(x1)) new_primModNatS02(x0, x1, Zero, 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) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_esEs(Integer(Neg(Zero))) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_esEs(Integer(Pos(Succ(x0)))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (825) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(new_primMinusNatS2(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'1(new_esEs(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'1(new_esEs(Integer(Neg(new_primModNatS1(Zero, Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero)))))) ---------------------------------------- (826) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(vuz102, vuz109) -> new_gcd0Gcd'(vuz109, vuz102) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'1(False, vuz102, vuz104) -> new_gcd0Gcd'0(vuz102, new_rem(vuz104, vuz102)) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS02(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'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(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'1(new_esEs(Integer(Pos(new_primModNatS02(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'1(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'1(new_esEs(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'1(new_esEs(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'1(new_esEs(Integer(Pos(new_primModNatS02(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'1(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'1(new_esEs(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'1(new_esEs(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'1(new_esEs(Integer(Neg(new_primModNatS02(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'1(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'1(new_esEs(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'1(new_esEs(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_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primMinusNatS0(vuz32000) -> Succ(vuz32000) new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error new_primModNatS01(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error new_primModNatS1(Zero, vuz7400) -> Zero new_esEs(Integer(Pos(Succ(vuz106000)))) -> False new_rem(Integer(vuz1040), Integer(vuz1020)) -> Integer(new_primRemInt(vuz1040, vuz1020)) new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero new_error -> error([]) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS02(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_esEs(Integer(Neg(Zero))) -> True new_primModNatS02(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_esEs(Integer(Pos(Zero))) -> True new_esEs(Integer(Neg(Succ(vuz106000)))) -> False new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error new_primModNatS02(vuz130, vuz131, Zero, Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS02(vuz75000, vuz74000, vuz75000, vuz74000) The set Q consists of the following terms: new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primMinusNatS1 new_esEs(Integer(Pos(Zero))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_esEs(Integer(Neg(Succ(x0)))) new_primMinusNatS2(Succ(x0), Zero) new_primMinusNatS2(Zero, Zero) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Integer(x0), Integer(x1)) new_primModNatS02(x0, x1, Zero, 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) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_esEs(Integer(Neg(Zero))) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_esEs(Integer(Pos(Succ(x0)))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (827) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(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'1(new_esEs(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'1(new_esEs(Integer(Neg(Zero))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero)))))) ---------------------------------------- (828) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(vuz102, vuz109) -> new_gcd0Gcd'(vuz109, vuz102) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'1(False, vuz102, vuz104) -> new_gcd0Gcd'0(vuz102, new_rem(vuz104, vuz102)) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS02(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'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(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'1(new_esEs(Integer(Pos(new_primModNatS02(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'1(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'1(new_esEs(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'1(new_esEs(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'1(new_esEs(Integer(Pos(new_primModNatS02(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'1(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'1(new_esEs(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'1(new_esEs(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'1(new_esEs(Integer(Neg(new_primModNatS02(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'1(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'1(new_esEs(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'1(new_esEs(Integer(Neg(Zero))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))) 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_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primMinusNatS0(vuz32000) -> Succ(vuz32000) new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error new_primModNatS01(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error new_primModNatS1(Zero, vuz7400) -> Zero new_esEs(Integer(Pos(Succ(vuz106000)))) -> False new_rem(Integer(vuz1040), Integer(vuz1020)) -> Integer(new_primRemInt(vuz1040, vuz1020)) new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero new_error -> error([]) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS02(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_esEs(Integer(Neg(Zero))) -> True new_primModNatS02(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_esEs(Integer(Pos(Zero))) -> True new_esEs(Integer(Neg(Succ(vuz106000)))) -> False new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error new_primModNatS02(vuz130, vuz131, Zero, Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS02(vuz75000, vuz74000, vuz75000, vuz74000) The set Q consists of the following terms: new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primMinusNatS1 new_esEs(Integer(Pos(Zero))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_esEs(Integer(Neg(Succ(x0)))) new_primMinusNatS2(Succ(x0), Zero) new_primMinusNatS2(Zero, Zero) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Integer(x0), Integer(x1)) new_primModNatS02(x0, x1, Zero, 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) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_esEs(Integer(Neg(Zero))) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_esEs(Integer(Pos(Succ(x0)))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (829) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (830) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'1(False, vuz102, vuz104) -> new_gcd0Gcd'0(vuz102, new_rem(vuz104, vuz102)) new_gcd0Gcd'0(vuz102, vuz109) -> new_gcd0Gcd'(vuz109, vuz102) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS02(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'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(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'1(new_esEs(Integer(Pos(new_primModNatS02(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'1(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'1(new_esEs(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'1(new_esEs(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'1(new_esEs(Integer(Pos(new_primModNatS02(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'1(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'1(new_esEs(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'1(new_esEs(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'1(new_esEs(Integer(Neg(new_primModNatS02(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'1(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'1(new_esEs(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_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primMinusNatS0(vuz32000) -> Succ(vuz32000) new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error new_primModNatS01(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error new_primModNatS1(Zero, vuz7400) -> Zero new_esEs(Integer(Pos(Succ(vuz106000)))) -> False new_rem(Integer(vuz1040), Integer(vuz1020)) -> Integer(new_primRemInt(vuz1040, vuz1020)) new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero new_error -> error([]) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS02(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_esEs(Integer(Neg(Zero))) -> True new_primModNatS02(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_esEs(Integer(Pos(Zero))) -> True new_esEs(Integer(Neg(Succ(vuz106000)))) -> False new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error new_primModNatS02(vuz130, vuz131, Zero, Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS02(vuz75000, vuz74000, vuz75000, vuz74000) The set Q consists of the following terms: new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primMinusNatS1 new_esEs(Integer(Pos(Zero))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_esEs(Integer(Neg(Succ(x0)))) new_primMinusNatS2(Succ(x0), Zero) new_primMinusNatS2(Zero, Zero) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Integer(x0), Integer(x1)) new_primModNatS02(x0, x1, Zero, 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) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_esEs(Integer(Neg(Zero))) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_esEs(Integer(Pos(Succ(x0)))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (831) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(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(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(new_primMinusNatS0(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'1(new_esEs(Integer(Neg(new_primModNatS1(new_primMinusNatS0(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'1(new_esEs(Integer(Neg(new_primModNatS1(new_primMinusNatS1, Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(Zero))))),new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(new_primMinusNatS1, Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(Zero)))))) ---------------------------------------- (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'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'1(False, vuz102, vuz104) -> new_gcd0Gcd'0(vuz102, new_rem(vuz104, vuz102)) new_gcd0Gcd'0(vuz102, vuz109) -> new_gcd0Gcd'(vuz109, vuz102) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS02(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'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(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'1(new_esEs(Integer(Pos(new_primModNatS02(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'1(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'1(new_esEs(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'1(new_esEs(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'1(new_esEs(Integer(Pos(new_primModNatS02(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'1(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'1(new_esEs(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'1(new_esEs(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'1(new_esEs(Integer(Neg(new_primModNatS02(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'1(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'1(new_esEs(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'1(new_esEs(Integer(Neg(new_primModNatS1(new_primMinusNatS0(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'1(new_esEs(Integer(Neg(new_primModNatS1(new_primMinusNatS1, Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(Zero))))) 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_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primMinusNatS0(vuz32000) -> Succ(vuz32000) new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error new_primModNatS01(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error new_primModNatS1(Zero, vuz7400) -> Zero new_esEs(Integer(Pos(Succ(vuz106000)))) -> False new_rem(Integer(vuz1040), Integer(vuz1020)) -> Integer(new_primRemInt(vuz1040, vuz1020)) new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero new_error -> error([]) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS02(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_esEs(Integer(Neg(Zero))) -> True new_primModNatS02(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_esEs(Integer(Pos(Zero))) -> True new_esEs(Integer(Neg(Succ(vuz106000)))) -> False new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error new_primModNatS02(vuz130, vuz131, Zero, Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS02(vuz75000, vuz74000, vuz75000, vuz74000) The set Q consists of the following terms: new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primMinusNatS1 new_esEs(Integer(Pos(Zero))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_esEs(Integer(Neg(Succ(x0)))) new_primMinusNatS2(Succ(x0), Zero) new_primMinusNatS2(Zero, Zero) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Integer(x0), Integer(x1)) new_primModNatS02(x0, x1, Zero, 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) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_esEs(Integer(Neg(Zero))) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_esEs(Integer(Pos(Succ(x0)))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) 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(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(new_primMinusNatS0(x0), 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'1(new_esEs(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'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(Succ(x0))))))) ---------------------------------------- (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'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'1(False, vuz102, vuz104) -> new_gcd0Gcd'0(vuz102, new_rem(vuz104, vuz102)) new_gcd0Gcd'0(vuz102, vuz109) -> new_gcd0Gcd'(vuz109, vuz102) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS02(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'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(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'1(new_esEs(Integer(Pos(new_primModNatS02(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'1(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'1(new_esEs(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'1(new_esEs(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'1(new_esEs(Integer(Pos(new_primModNatS02(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'1(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'1(new_esEs(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'1(new_esEs(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'1(new_esEs(Integer(Neg(new_primModNatS02(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'1(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'1(new_esEs(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'1(new_esEs(Integer(Neg(new_primModNatS1(new_primMinusNatS1, Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(Zero))))) new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(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_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primMinusNatS0(vuz32000) -> Succ(vuz32000) new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error new_primModNatS01(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error new_primModNatS1(Zero, vuz7400) -> Zero new_esEs(Integer(Pos(Succ(vuz106000)))) -> False new_rem(Integer(vuz1040), Integer(vuz1020)) -> Integer(new_primRemInt(vuz1040, vuz1020)) new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero new_error -> error([]) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS02(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_esEs(Integer(Neg(Zero))) -> True new_primModNatS02(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_esEs(Integer(Pos(Zero))) -> True new_esEs(Integer(Neg(Succ(vuz106000)))) -> False new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error new_primModNatS02(vuz130, vuz131, Zero, Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS02(vuz75000, vuz74000, vuz75000, vuz74000) The set Q consists of the following terms: new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primMinusNatS1 new_esEs(Integer(Pos(Zero))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_esEs(Integer(Neg(Succ(x0)))) new_primMinusNatS2(Succ(x0), Zero) new_primMinusNatS2(Zero, Zero) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Integer(x0), Integer(x1)) new_primModNatS02(x0, x1, Zero, 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) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_esEs(Integer(Neg(Zero))) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_esEs(Integer(Pos(Succ(x0)))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (835) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(new_primMinusNatS1, 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'1(new_esEs(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'1(new_esEs(Integer(Neg(new_primModNatS1(Zero, Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(Zero)))))) ---------------------------------------- (836) 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'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'1(False, vuz102, vuz104) -> new_gcd0Gcd'0(vuz102, new_rem(vuz104, vuz102)) new_gcd0Gcd'0(vuz102, vuz109) -> new_gcd0Gcd'(vuz109, vuz102) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS02(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'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(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'1(new_esEs(Integer(Pos(new_primModNatS02(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'1(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'1(new_esEs(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'1(new_esEs(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'1(new_esEs(Integer(Pos(new_primModNatS02(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'1(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'1(new_esEs(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'1(new_esEs(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'1(new_esEs(Integer(Neg(new_primModNatS02(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'1(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'1(new_esEs(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'1(new_esEs(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'1(new_esEs(Integer(Neg(new_primModNatS1(Zero, Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(Zero))))) 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_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primMinusNatS0(vuz32000) -> Succ(vuz32000) new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error new_primModNatS01(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error new_primModNatS1(Zero, vuz7400) -> Zero new_esEs(Integer(Pos(Succ(vuz106000)))) -> False new_rem(Integer(vuz1040), Integer(vuz1020)) -> Integer(new_primRemInt(vuz1040, vuz1020)) new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero new_error -> error([]) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS02(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_esEs(Integer(Neg(Zero))) -> True new_primModNatS02(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_esEs(Integer(Pos(Zero))) -> True new_esEs(Integer(Neg(Succ(vuz106000)))) -> False new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error new_primModNatS02(vuz130, vuz131, Zero, Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS02(vuz75000, vuz74000, vuz75000, vuz74000) The set Q consists of the following terms: new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primMinusNatS1 new_esEs(Integer(Pos(Zero))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_esEs(Integer(Neg(Succ(x0)))) new_primMinusNatS2(Succ(x0), Zero) new_primMinusNatS2(Zero, Zero) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Integer(x0), Integer(x1)) new_primModNatS02(x0, x1, Zero, 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) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_esEs(Integer(Neg(Zero))) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_esEs(Integer(Pos(Succ(x0)))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (837) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(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'1(new_esEs(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'1(new_esEs(Integer(Neg(Zero))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(Zero)))))) ---------------------------------------- (838) 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'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'1(False, vuz102, vuz104) -> new_gcd0Gcd'0(vuz102, new_rem(vuz104, vuz102)) new_gcd0Gcd'0(vuz102, vuz109) -> new_gcd0Gcd'(vuz109, vuz102) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS02(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'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(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'1(new_esEs(Integer(Pos(new_primModNatS02(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'1(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'1(new_esEs(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'1(new_esEs(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'1(new_esEs(Integer(Pos(new_primModNatS02(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'1(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'1(new_esEs(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'1(new_esEs(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'1(new_esEs(Integer(Neg(new_primModNatS02(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'1(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'1(new_esEs(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'1(new_esEs(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'1(new_esEs(Integer(Neg(Zero))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(Zero))))) 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_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primMinusNatS0(vuz32000) -> Succ(vuz32000) new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error new_primModNatS01(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error new_primModNatS1(Zero, vuz7400) -> Zero new_esEs(Integer(Pos(Succ(vuz106000)))) -> False new_rem(Integer(vuz1040), Integer(vuz1020)) -> Integer(new_primRemInt(vuz1040, vuz1020)) new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero new_error -> error([]) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS02(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_esEs(Integer(Neg(Zero))) -> True new_primModNatS02(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_esEs(Integer(Pos(Zero))) -> True new_esEs(Integer(Neg(Succ(vuz106000)))) -> False new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error new_primModNatS02(vuz130, vuz131, Zero, Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS02(vuz75000, vuz74000, vuz75000, vuz74000) The set Q consists of the following terms: new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primMinusNatS1 new_esEs(Integer(Pos(Zero))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_esEs(Integer(Neg(Succ(x0)))) new_primMinusNatS2(Succ(x0), Zero) new_primMinusNatS2(Zero, Zero) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Integer(x0), Integer(x1)) new_primModNatS02(x0, x1, Zero, 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) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_esEs(Integer(Neg(Zero))) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_esEs(Integer(Pos(Succ(x0)))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (839) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (840) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, vuz102, vuz104) -> new_gcd0Gcd'0(vuz102, new_rem(vuz104, vuz102)) new_gcd0Gcd'0(vuz102, vuz109) -> new_gcd0Gcd'(vuz109, vuz102) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS02(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'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(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'1(new_esEs(Integer(Pos(new_primModNatS02(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'1(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'1(new_esEs(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'1(new_esEs(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'1(new_esEs(Integer(Pos(new_primModNatS02(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'1(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'1(new_esEs(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'1(new_esEs(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'1(new_esEs(Integer(Neg(new_primModNatS02(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'1(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'1(new_esEs(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'1(new_esEs(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_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primMinusNatS0(vuz32000) -> Succ(vuz32000) new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error new_primModNatS01(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error new_primModNatS1(Zero, vuz7400) -> Zero new_esEs(Integer(Pos(Succ(vuz106000)))) -> False new_rem(Integer(vuz1040), Integer(vuz1020)) -> Integer(new_primRemInt(vuz1040, vuz1020)) new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero new_error -> error([]) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS02(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_esEs(Integer(Neg(Zero))) -> True new_primModNatS02(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_esEs(Integer(Pos(Zero))) -> True new_esEs(Integer(Neg(Succ(vuz106000)))) -> False new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error new_primModNatS02(vuz130, vuz131, Zero, Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS02(vuz75000, vuz74000, vuz75000, vuz74000) The set Q consists of the following terms: new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primMinusNatS1 new_esEs(Integer(Pos(Zero))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_esEs(Integer(Neg(Succ(x0)))) new_primMinusNatS2(Succ(x0), Zero) new_primMinusNatS2(Zero, Zero) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Integer(x0), Integer(x1)) new_primModNatS02(x0, x1, Zero, 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) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_esEs(Integer(Neg(Zero))) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_esEs(Integer(Pos(Succ(x0)))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (841) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_gcd0Gcd'(Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS02(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(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS01(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'1(new_esEs(Integer(Neg(new_primModNatS01(Succ(x2), Zero)))), Integer(Neg(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'1(new_esEs(Integer(Neg(new_primModNatS02(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'1(new_esEs(Integer(Neg(new_primModNatS02(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'1(new_esEs(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'1(new_esEs(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'1(new_esEs(Integer(Neg(new_primModNatS01(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'1(new_esEs(Integer(Neg(new_primModNatS01(Zero, 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'1(False, vuz102, vuz104) -> new_gcd0Gcd'0(vuz102, new_rem(vuz104, vuz102)) new_gcd0Gcd'0(vuz102, vuz109) -> new_gcd0Gcd'(vuz109, vuz102) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(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'1(new_esEs(Integer(Pos(new_primModNatS02(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'1(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'1(new_esEs(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'1(new_esEs(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'1(new_esEs(Integer(Pos(new_primModNatS02(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'1(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'1(new_esEs(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'1(new_esEs(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'1(new_esEs(Integer(Neg(new_primModNatS02(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'1(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'1(new_esEs(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'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS01(Succ(x2), Zero)))), Integer(Neg(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'1(new_esEs(Integer(Neg(new_primModNatS02(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'1(new_esEs(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'1(new_esEs(Integer(Neg(new_primModNatS01(Zero, Zero)))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))) 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_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primMinusNatS0(vuz32000) -> Succ(vuz32000) new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error new_primModNatS01(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error new_primModNatS1(Zero, vuz7400) -> Zero new_esEs(Integer(Pos(Succ(vuz106000)))) -> False new_rem(Integer(vuz1040), Integer(vuz1020)) -> Integer(new_primRemInt(vuz1040, vuz1020)) new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero new_error -> error([]) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS02(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_esEs(Integer(Neg(Zero))) -> True new_primModNatS02(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_esEs(Integer(Pos(Zero))) -> True new_esEs(Integer(Neg(Succ(vuz106000)))) -> False new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error new_primModNatS02(vuz130, vuz131, Zero, Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS02(vuz75000, vuz74000, vuz75000, vuz74000) The set Q consists of the following terms: new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primMinusNatS1 new_esEs(Integer(Pos(Zero))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_esEs(Integer(Neg(Succ(x0)))) new_primMinusNatS2(Succ(x0), Zero) new_primMinusNatS2(Zero, Zero) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Integer(x0), Integer(x1)) new_primModNatS02(x0, x1, Zero, 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) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_esEs(Integer(Neg(Zero))) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_esEs(Integer(Pos(Succ(x0)))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) 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'1(new_esEs(Integer(Neg(new_primModNatS01(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'1(new_esEs(Integer(Neg(new_primModNatS1(new_primMinusNatS2(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'1(new_esEs(Integer(Neg(new_primModNatS1(new_primMinusNatS2(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'1(False, vuz102, vuz104) -> new_gcd0Gcd'0(vuz102, new_rem(vuz104, vuz102)) new_gcd0Gcd'0(vuz102, vuz109) -> new_gcd0Gcd'(vuz109, vuz102) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(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'1(new_esEs(Integer(Pos(new_primModNatS02(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'1(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'1(new_esEs(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'1(new_esEs(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'1(new_esEs(Integer(Pos(new_primModNatS02(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'1(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'1(new_esEs(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'1(new_esEs(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'1(new_esEs(Integer(Neg(new_primModNatS02(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'1(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'1(new_esEs(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'1(new_esEs(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'1(new_esEs(Integer(Neg(new_primModNatS02(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'1(new_esEs(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'1(new_esEs(Integer(Neg(new_primModNatS01(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'1(new_esEs(Integer(Neg(new_primModNatS1(new_primMinusNatS2(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_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primMinusNatS0(vuz32000) -> Succ(vuz32000) new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error new_primModNatS01(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error new_primModNatS1(Zero, vuz7400) -> Zero new_esEs(Integer(Pos(Succ(vuz106000)))) -> False new_rem(Integer(vuz1040), Integer(vuz1020)) -> Integer(new_primRemInt(vuz1040, vuz1020)) new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero new_error -> error([]) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS02(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_esEs(Integer(Neg(Zero))) -> True new_primModNatS02(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_esEs(Integer(Pos(Zero))) -> True new_esEs(Integer(Neg(Succ(vuz106000)))) -> False new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error new_primModNatS02(vuz130, vuz131, Zero, Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS02(vuz75000, vuz74000, vuz75000, vuz74000) The set Q consists of the following terms: new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primMinusNatS1 new_esEs(Integer(Pos(Zero))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_esEs(Integer(Neg(Succ(x0)))) new_primMinusNatS2(Succ(x0), Zero) new_primMinusNatS2(Zero, Zero) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Integer(x0), Integer(x1)) new_primModNatS02(x0, x1, Zero, 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) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_esEs(Integer(Neg(Zero))) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_esEs(Integer(Pos(Succ(x0)))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) 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(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(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'1(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'1(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero)))))) ---------------------------------------- (846) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, vuz102, vuz104) -> new_gcd0Gcd'0(vuz102, new_rem(vuz104, vuz102)) new_gcd0Gcd'0(vuz102, vuz109) -> new_gcd0Gcd'(vuz109, vuz102) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(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'1(new_esEs(Integer(Pos(new_primModNatS02(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'1(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'1(new_esEs(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'1(new_esEs(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'1(new_esEs(Integer(Pos(new_primModNatS02(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'1(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'1(new_esEs(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'1(new_esEs(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'1(new_esEs(Integer(Neg(new_primModNatS02(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'1(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'1(new_esEs(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'1(new_esEs(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'1(new_esEs(Integer(Neg(new_primModNatS02(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'1(new_esEs(Integer(Neg(new_primModNatS01(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'1(new_esEs(Integer(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(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'1(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) 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_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primMinusNatS0(vuz32000) -> Succ(vuz32000) new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error new_primModNatS01(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error new_primModNatS1(Zero, vuz7400) -> Zero new_esEs(Integer(Pos(Succ(vuz106000)))) -> False new_rem(Integer(vuz1040), Integer(vuz1020)) -> Integer(new_primRemInt(vuz1040, vuz1020)) new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero new_error -> error([]) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS02(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_esEs(Integer(Neg(Zero))) -> True new_primModNatS02(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_esEs(Integer(Pos(Zero))) -> True new_esEs(Integer(Neg(Succ(vuz106000)))) -> False new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error new_primModNatS02(vuz130, vuz131, Zero, Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS02(vuz75000, vuz74000, vuz75000, vuz74000) The set Q consists of the following terms: new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primMinusNatS1 new_esEs(Integer(Pos(Zero))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_esEs(Integer(Neg(Succ(x0)))) new_primMinusNatS2(Succ(x0), Zero) new_primMinusNatS2(Zero, Zero) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Integer(x0), Integer(x1)) new_primModNatS02(x0, x1, Zero, 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) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_esEs(Integer(Neg(Zero))) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_esEs(Integer(Pos(Succ(x0)))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) 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(Zero))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS01(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'1(new_esEs(Integer(Neg(new_primModNatS1(new_primMinusNatS2(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'1(new_esEs(Integer(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero)))))) ---------------------------------------- (848) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, vuz102, vuz104) -> new_gcd0Gcd'0(vuz102, new_rem(vuz104, vuz102)) new_gcd0Gcd'0(vuz102, vuz109) -> new_gcd0Gcd'(vuz109, vuz102) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(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'1(new_esEs(Integer(Pos(new_primModNatS02(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'1(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'1(new_esEs(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'1(new_esEs(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'1(new_esEs(Integer(Pos(new_primModNatS02(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'1(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'1(new_esEs(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'1(new_esEs(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'1(new_esEs(Integer(Neg(new_primModNatS02(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'1(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'1(new_esEs(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'1(new_esEs(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'1(new_esEs(Integer(Neg(new_primModNatS02(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'1(new_esEs(Integer(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(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'1(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'1(new_esEs(Integer(Neg(new_primModNatS1(new_primMinusNatS2(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_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primMinusNatS0(vuz32000) -> Succ(vuz32000) new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error new_primModNatS01(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error new_primModNatS1(Zero, vuz7400) -> Zero new_esEs(Integer(Pos(Succ(vuz106000)))) -> False new_rem(Integer(vuz1040), Integer(vuz1020)) -> Integer(new_primRemInt(vuz1040, vuz1020)) new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero new_error -> error([]) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS02(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_esEs(Integer(Neg(Zero))) -> True new_primModNatS02(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_esEs(Integer(Pos(Zero))) -> True new_esEs(Integer(Neg(Succ(vuz106000)))) -> False new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error new_primModNatS02(vuz130, vuz131, Zero, Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS02(vuz75000, vuz74000, vuz75000, vuz74000) The set Q consists of the following terms: new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primMinusNatS1 new_esEs(Integer(Pos(Zero))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_esEs(Integer(Neg(Succ(x0)))) new_primMinusNatS2(Succ(x0), Zero) new_primMinusNatS2(Zero, Zero) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Integer(x0), Integer(x1)) new_primModNatS02(x0, x1, Zero, 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) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_esEs(Integer(Neg(Zero))) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_esEs(Integer(Pos(Succ(x0)))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) 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(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(new_primMinusNatS2(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'1(new_esEs(Integer(Neg(new_primModNatS1(new_primMinusNatS2(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'1(new_esEs(Integer(Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2))))))) ---------------------------------------- (850) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, vuz102, vuz104) -> new_gcd0Gcd'0(vuz102, new_rem(vuz104, vuz102)) new_gcd0Gcd'0(vuz102, vuz109) -> new_gcd0Gcd'(vuz109, vuz102) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(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'1(new_esEs(Integer(Pos(new_primModNatS02(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'1(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'1(new_esEs(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'1(new_esEs(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'1(new_esEs(Integer(Pos(new_primModNatS02(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'1(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'1(new_esEs(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'1(new_esEs(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'1(new_esEs(Integer(Neg(new_primModNatS02(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'1(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'1(new_esEs(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'1(new_esEs(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'1(new_esEs(Integer(Neg(new_primModNatS02(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'1(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'1(new_esEs(Integer(Neg(new_primModNatS1(new_primMinusNatS2(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'1(new_esEs(Integer(Neg(new_primModNatS1(new_primMinusNatS2(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_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primMinusNatS0(vuz32000) -> Succ(vuz32000) new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error new_primModNatS01(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error new_primModNatS1(Zero, vuz7400) -> Zero new_esEs(Integer(Pos(Succ(vuz106000)))) -> False new_rem(Integer(vuz1040), Integer(vuz1020)) -> Integer(new_primRemInt(vuz1040, vuz1020)) new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero new_error -> error([]) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS02(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_esEs(Integer(Neg(Zero))) -> True new_primModNatS02(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_esEs(Integer(Pos(Zero))) -> True new_esEs(Integer(Neg(Succ(vuz106000)))) -> False new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error new_primModNatS02(vuz130, vuz131, Zero, Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS02(vuz75000, vuz74000, vuz75000, vuz74000) The set Q consists of the following terms: new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primMinusNatS1 new_esEs(Integer(Pos(Zero))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_esEs(Integer(Neg(Succ(x0)))) new_primMinusNatS2(Succ(x0), Zero) new_primMinusNatS2(Zero, Zero) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Integer(x0), Integer(x1)) new_primModNatS02(x0, x1, Zero, 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) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_esEs(Integer(Neg(Zero))) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_esEs(Integer(Pos(Succ(x0)))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) 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(Zero))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(new_primMinusNatS2(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'1(new_esEs(Integer(Neg(new_primModNatS1(new_primMinusNatS2(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'1(new_esEs(Integer(Neg(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero)))))) ---------------------------------------- (852) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, vuz102, vuz104) -> new_gcd0Gcd'0(vuz102, new_rem(vuz104, vuz102)) new_gcd0Gcd'0(vuz102, vuz109) -> new_gcd0Gcd'(vuz109, vuz102) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(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'1(new_esEs(Integer(Pos(new_primModNatS02(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'1(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'1(new_esEs(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'1(new_esEs(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'1(new_esEs(Integer(Pos(new_primModNatS02(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'1(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'1(new_esEs(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'1(new_esEs(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'1(new_esEs(Integer(Neg(new_primModNatS02(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'1(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'1(new_esEs(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'1(new_esEs(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'1(new_esEs(Integer(Neg(new_primModNatS02(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'1(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'1(new_esEs(Integer(Neg(new_primModNatS1(new_primMinusNatS2(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'1(new_esEs(Integer(Neg(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))) 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_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primMinusNatS0(vuz32000) -> Succ(vuz32000) new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error new_primModNatS01(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error new_primModNatS1(Zero, vuz7400) -> Zero new_esEs(Integer(Pos(Succ(vuz106000)))) -> False new_rem(Integer(vuz1040), Integer(vuz1020)) -> Integer(new_primRemInt(vuz1040, vuz1020)) new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero new_error -> error([]) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS02(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_esEs(Integer(Neg(Zero))) -> True new_primModNatS02(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_esEs(Integer(Pos(Zero))) -> True new_esEs(Integer(Neg(Succ(vuz106000)))) -> False new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error new_primModNatS02(vuz130, vuz131, Zero, Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS02(vuz75000, vuz74000, vuz75000, vuz74000) The set Q consists of the following terms: new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primMinusNatS1 new_esEs(Integer(Pos(Zero))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_esEs(Integer(Neg(Succ(x0)))) new_primMinusNatS2(Succ(x0), Zero) new_primMinusNatS2(Zero, Zero) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Integer(x0), Integer(x1)) new_primModNatS02(x0, x1, Zero, 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) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_esEs(Integer(Neg(Zero))) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_esEs(Integer(Pos(Succ(x0)))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) 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(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(new_primMinusNatS2(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'1(new_esEs(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'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2))))))) ---------------------------------------- (854) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, vuz102, vuz104) -> new_gcd0Gcd'0(vuz102, new_rem(vuz104, vuz102)) new_gcd0Gcd'0(vuz102, vuz109) -> new_gcd0Gcd'(vuz109, vuz102) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(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'1(new_esEs(Integer(Pos(new_primModNatS02(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'1(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'1(new_esEs(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'1(new_esEs(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'1(new_esEs(Integer(Pos(new_primModNatS02(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'1(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'1(new_esEs(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'1(new_esEs(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'1(new_esEs(Integer(Neg(new_primModNatS02(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'1(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'1(new_esEs(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'1(new_esEs(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'1(new_esEs(Integer(Neg(new_primModNatS02(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'1(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'1(new_esEs(Integer(Neg(new_primModNatS1(new_primMinusNatS2(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'1(new_esEs(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_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primMinusNatS0(vuz32000) -> Succ(vuz32000) new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error new_primModNatS01(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error new_primModNatS1(Zero, vuz7400) -> Zero new_esEs(Integer(Pos(Succ(vuz106000)))) -> False new_rem(Integer(vuz1040), Integer(vuz1020)) -> Integer(new_primRemInt(vuz1040, vuz1020)) new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero new_error -> error([]) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS02(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_esEs(Integer(Neg(Zero))) -> True new_primModNatS02(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_esEs(Integer(Pos(Zero))) -> True new_esEs(Integer(Neg(Succ(vuz106000)))) -> False new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error new_primModNatS02(vuz130, vuz131, Zero, Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS02(vuz75000, vuz74000, vuz75000, vuz74000) The set Q consists of the following terms: new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primMinusNatS1 new_esEs(Integer(Pos(Zero))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_esEs(Integer(Neg(Succ(x0)))) new_primMinusNatS2(Succ(x0), Zero) new_primMinusNatS2(Zero, Zero) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Integer(x0), Integer(x1)) new_primModNatS02(x0, x1, Zero, 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) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_esEs(Integer(Neg(Zero))) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_esEs(Integer(Pos(Succ(x0)))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (855) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(new_primMinusNatS2(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'1(new_esEs(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'1(new_esEs(Integer(Neg(new_primModNatS1(Zero, Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero)))))) ---------------------------------------- (856) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, vuz102, vuz104) -> new_gcd0Gcd'0(vuz102, new_rem(vuz104, vuz102)) new_gcd0Gcd'0(vuz102, vuz109) -> new_gcd0Gcd'(vuz109, vuz102) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(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'1(new_esEs(Integer(Pos(new_primModNatS02(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'1(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'1(new_esEs(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'1(new_esEs(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'1(new_esEs(Integer(Pos(new_primModNatS02(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'1(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'1(new_esEs(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'1(new_esEs(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'1(new_esEs(Integer(Neg(new_primModNatS02(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'1(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'1(new_esEs(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'1(new_esEs(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'1(new_esEs(Integer(Neg(new_primModNatS02(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'1(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'1(new_esEs(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'1(new_esEs(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_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primMinusNatS0(vuz32000) -> Succ(vuz32000) new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error new_primModNatS01(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error new_primModNatS1(Zero, vuz7400) -> Zero new_esEs(Integer(Pos(Succ(vuz106000)))) -> False new_rem(Integer(vuz1040), Integer(vuz1020)) -> Integer(new_primRemInt(vuz1040, vuz1020)) new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero new_error -> error([]) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS02(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_esEs(Integer(Neg(Zero))) -> True new_primModNatS02(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_esEs(Integer(Pos(Zero))) -> True new_esEs(Integer(Neg(Succ(vuz106000)))) -> False new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error new_primModNatS02(vuz130, vuz131, Zero, Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS02(vuz75000, vuz74000, vuz75000, vuz74000) The set Q consists of the following terms: new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primMinusNatS1 new_esEs(Integer(Pos(Zero))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_esEs(Integer(Neg(Succ(x0)))) new_primMinusNatS2(Succ(x0), Zero) new_primMinusNatS2(Zero, Zero) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Integer(x0), Integer(x1)) new_primModNatS02(x0, x1, Zero, 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) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_esEs(Integer(Neg(Zero))) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_esEs(Integer(Pos(Succ(x0)))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (857) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(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'1(new_esEs(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'1(new_esEs(Integer(Neg(Zero))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero)))))) ---------------------------------------- (858) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, vuz102, vuz104) -> new_gcd0Gcd'0(vuz102, new_rem(vuz104, vuz102)) new_gcd0Gcd'0(vuz102, vuz109) -> new_gcd0Gcd'(vuz109, vuz102) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(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'1(new_esEs(Integer(Pos(new_primModNatS02(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'1(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'1(new_esEs(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'1(new_esEs(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'1(new_esEs(Integer(Pos(new_primModNatS02(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'1(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'1(new_esEs(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'1(new_esEs(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'1(new_esEs(Integer(Neg(new_primModNatS02(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'1(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'1(new_esEs(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'1(new_esEs(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'1(new_esEs(Integer(Neg(new_primModNatS02(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'1(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'1(new_esEs(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'1(new_esEs(Integer(Neg(Zero))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))) 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_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primMinusNatS0(vuz32000) -> Succ(vuz32000) new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error new_primModNatS01(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error new_primModNatS1(Zero, vuz7400) -> Zero new_esEs(Integer(Pos(Succ(vuz106000)))) -> False new_rem(Integer(vuz1040), Integer(vuz1020)) -> Integer(new_primRemInt(vuz1040, vuz1020)) new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero new_error -> error([]) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS02(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_esEs(Integer(Neg(Zero))) -> True new_primModNatS02(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_esEs(Integer(Pos(Zero))) -> True new_esEs(Integer(Neg(Succ(vuz106000)))) -> False new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error new_primModNatS02(vuz130, vuz131, Zero, Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS02(vuz75000, vuz74000, vuz75000, vuz74000) The set Q consists of the following terms: new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primMinusNatS1 new_esEs(Integer(Pos(Zero))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_esEs(Integer(Neg(Succ(x0)))) new_primMinusNatS2(Succ(x0), Zero) new_primMinusNatS2(Zero, Zero) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Integer(x0), Integer(x1)) new_primModNatS02(x0, x1, Zero, 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) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_esEs(Integer(Neg(Zero))) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_esEs(Integer(Pos(Succ(x0)))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (859) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (860) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(vuz102, vuz109) -> new_gcd0Gcd'(vuz109, vuz102) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'1(False, vuz102, vuz104) -> new_gcd0Gcd'0(vuz102, new_rem(vuz104, vuz102)) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(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'1(new_esEs(Integer(Pos(new_primModNatS02(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'1(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'1(new_esEs(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'1(new_esEs(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'1(new_esEs(Integer(Pos(new_primModNatS02(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'1(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'1(new_esEs(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'1(new_esEs(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'1(new_esEs(Integer(Neg(new_primModNatS02(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'1(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'1(new_esEs(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'1(new_esEs(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'1(new_esEs(Integer(Neg(new_primModNatS02(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'1(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'1(new_esEs(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_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primMinusNatS0(vuz32000) -> Succ(vuz32000) new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error new_primModNatS01(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error new_primModNatS1(Zero, vuz7400) -> Zero new_esEs(Integer(Pos(Succ(vuz106000)))) -> False new_rem(Integer(vuz1040), Integer(vuz1020)) -> Integer(new_primRemInt(vuz1040, vuz1020)) new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero new_error -> error([]) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS02(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_esEs(Integer(Neg(Zero))) -> True new_primModNatS02(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_esEs(Integer(Pos(Zero))) -> True new_esEs(Integer(Neg(Succ(vuz106000)))) -> False new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error new_primModNatS02(vuz130, vuz131, Zero, Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS02(vuz75000, vuz74000, vuz75000, vuz74000) The set Q consists of the following terms: new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primMinusNatS1 new_esEs(Integer(Pos(Zero))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_esEs(Integer(Neg(Succ(x0)))) new_primMinusNatS2(Succ(x0), Zero) new_primMinusNatS2(Zero, Zero) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Integer(x0), Integer(x1)) new_primModNatS02(x0, x1, Zero, 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) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_esEs(Integer(Neg(Zero))) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_esEs(Integer(Pos(Succ(x0)))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (861) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(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(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(new_primMinusNatS0(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'1(new_esEs(Integer(Neg(new_primModNatS1(new_primMinusNatS0(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'1(new_esEs(Integer(Neg(new_primModNatS1(new_primMinusNatS1, Zero)))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(Zero))))),new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(new_primMinusNatS1, Zero)))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(Zero)))))) ---------------------------------------- (862) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(vuz102, vuz109) -> new_gcd0Gcd'(vuz109, vuz102) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'1(False, vuz102, vuz104) -> new_gcd0Gcd'0(vuz102, new_rem(vuz104, vuz102)) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(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'1(new_esEs(Integer(Pos(new_primModNatS02(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'1(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'1(new_esEs(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'1(new_esEs(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'1(new_esEs(Integer(Pos(new_primModNatS02(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'1(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'1(new_esEs(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'1(new_esEs(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'1(new_esEs(Integer(Neg(new_primModNatS02(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'1(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'1(new_esEs(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'1(new_esEs(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'1(new_esEs(Integer(Neg(new_primModNatS02(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'1(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'1(new_esEs(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'1(new_esEs(Integer(Neg(new_primModNatS1(new_primMinusNatS0(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'1(new_esEs(Integer(Neg(new_primModNatS1(new_primMinusNatS1, Zero)))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(Zero))))) 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_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primMinusNatS0(vuz32000) -> Succ(vuz32000) new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error new_primModNatS01(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error new_primModNatS1(Zero, vuz7400) -> Zero new_esEs(Integer(Pos(Succ(vuz106000)))) -> False new_rem(Integer(vuz1040), Integer(vuz1020)) -> Integer(new_primRemInt(vuz1040, vuz1020)) new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero new_error -> error([]) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS02(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_esEs(Integer(Neg(Zero))) -> True new_primModNatS02(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_esEs(Integer(Pos(Zero))) -> True new_esEs(Integer(Neg(Succ(vuz106000)))) -> False new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error new_primModNatS02(vuz130, vuz131, Zero, Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS02(vuz75000, vuz74000, vuz75000, vuz74000) The set Q consists of the following terms: new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primMinusNatS1 new_esEs(Integer(Pos(Zero))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_esEs(Integer(Neg(Succ(x0)))) new_primMinusNatS2(Succ(x0), Zero) new_primMinusNatS2(Zero, Zero) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Integer(x0), Integer(x1)) new_primModNatS02(x0, x1, Zero, 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) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_esEs(Integer(Neg(Zero))) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_esEs(Integer(Pos(Succ(x0)))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) 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(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(new_primMinusNatS0(x0), 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'1(new_esEs(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'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(Succ(x0))))))) ---------------------------------------- (864) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(vuz102, vuz109) -> new_gcd0Gcd'(vuz109, vuz102) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'1(False, vuz102, vuz104) -> new_gcd0Gcd'0(vuz102, new_rem(vuz104, vuz102)) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(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'1(new_esEs(Integer(Pos(new_primModNatS02(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'1(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'1(new_esEs(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'1(new_esEs(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'1(new_esEs(Integer(Pos(new_primModNatS02(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'1(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'1(new_esEs(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'1(new_esEs(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'1(new_esEs(Integer(Neg(new_primModNatS02(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'1(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'1(new_esEs(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'1(new_esEs(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'1(new_esEs(Integer(Neg(new_primModNatS02(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'1(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'1(new_esEs(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'1(new_esEs(Integer(Neg(new_primModNatS1(new_primMinusNatS1, Zero)))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(Zero))))) new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(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_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primMinusNatS0(vuz32000) -> Succ(vuz32000) new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error new_primModNatS01(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error new_primModNatS1(Zero, vuz7400) -> Zero new_esEs(Integer(Pos(Succ(vuz106000)))) -> False new_rem(Integer(vuz1040), Integer(vuz1020)) -> Integer(new_primRemInt(vuz1040, vuz1020)) new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero new_error -> error([]) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS02(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_esEs(Integer(Neg(Zero))) -> True new_primModNatS02(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_esEs(Integer(Pos(Zero))) -> True new_esEs(Integer(Neg(Succ(vuz106000)))) -> False new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error new_primModNatS02(vuz130, vuz131, Zero, Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS02(vuz75000, vuz74000, vuz75000, vuz74000) The set Q consists of the following terms: new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primMinusNatS1 new_esEs(Integer(Pos(Zero))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_esEs(Integer(Neg(Succ(x0)))) new_primMinusNatS2(Succ(x0), Zero) new_primMinusNatS2(Zero, Zero) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Integer(x0), Integer(x1)) new_primModNatS02(x0, x1, Zero, 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) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_esEs(Integer(Neg(Zero))) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_esEs(Integer(Pos(Succ(x0)))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (865) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(new_primMinusNatS1, 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'1(new_esEs(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'1(new_esEs(Integer(Neg(new_primModNatS1(Zero, Zero)))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(Zero)))))) ---------------------------------------- (866) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(vuz102, vuz109) -> new_gcd0Gcd'(vuz109, vuz102) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'1(False, vuz102, vuz104) -> new_gcd0Gcd'0(vuz102, new_rem(vuz104, vuz102)) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(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'1(new_esEs(Integer(Pos(new_primModNatS02(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'1(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'1(new_esEs(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'1(new_esEs(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'1(new_esEs(Integer(Pos(new_primModNatS02(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'1(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'1(new_esEs(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'1(new_esEs(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'1(new_esEs(Integer(Neg(new_primModNatS02(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'1(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'1(new_esEs(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'1(new_esEs(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'1(new_esEs(Integer(Neg(new_primModNatS02(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'1(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'1(new_esEs(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'1(new_esEs(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'1(new_esEs(Integer(Neg(new_primModNatS1(Zero, Zero)))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(Zero))))) 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_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primMinusNatS0(vuz32000) -> Succ(vuz32000) new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error new_primModNatS01(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error new_primModNatS1(Zero, vuz7400) -> Zero new_esEs(Integer(Pos(Succ(vuz106000)))) -> False new_rem(Integer(vuz1040), Integer(vuz1020)) -> Integer(new_primRemInt(vuz1040, vuz1020)) new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero new_error -> error([]) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS02(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_esEs(Integer(Neg(Zero))) -> True new_primModNatS02(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_esEs(Integer(Pos(Zero))) -> True new_esEs(Integer(Neg(Succ(vuz106000)))) -> False new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error new_primModNatS02(vuz130, vuz131, Zero, Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS02(vuz75000, vuz74000, vuz75000, vuz74000) The set Q consists of the following terms: new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primMinusNatS1 new_esEs(Integer(Pos(Zero))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_esEs(Integer(Neg(Succ(x0)))) new_primMinusNatS2(Succ(x0), Zero) new_primMinusNatS2(Zero, Zero) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Integer(x0), Integer(x1)) new_primModNatS02(x0, x1, Zero, 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) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_esEs(Integer(Neg(Zero))) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_esEs(Integer(Pos(Succ(x0)))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (867) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(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'1(new_esEs(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'1(new_esEs(Integer(Neg(Zero))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(Zero)))))) ---------------------------------------- (868) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(vuz102, vuz109) -> new_gcd0Gcd'(vuz109, vuz102) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'1(False, vuz102, vuz104) -> new_gcd0Gcd'0(vuz102, new_rem(vuz104, vuz102)) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(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'1(new_esEs(Integer(Pos(new_primModNatS02(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'1(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'1(new_esEs(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'1(new_esEs(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'1(new_esEs(Integer(Pos(new_primModNatS02(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'1(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'1(new_esEs(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'1(new_esEs(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'1(new_esEs(Integer(Neg(new_primModNatS02(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'1(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'1(new_esEs(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'1(new_esEs(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'1(new_esEs(Integer(Neg(new_primModNatS02(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'1(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'1(new_esEs(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'1(new_esEs(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'1(new_esEs(Integer(Neg(Zero))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(Zero))))) 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_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primMinusNatS0(vuz32000) -> Succ(vuz32000) new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error new_primModNatS01(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error new_primModNatS1(Zero, vuz7400) -> Zero new_esEs(Integer(Pos(Succ(vuz106000)))) -> False new_rem(Integer(vuz1040), Integer(vuz1020)) -> Integer(new_primRemInt(vuz1040, vuz1020)) new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero new_error -> error([]) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS02(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_esEs(Integer(Neg(Zero))) -> True new_primModNatS02(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_esEs(Integer(Pos(Zero))) -> True new_esEs(Integer(Neg(Succ(vuz106000)))) -> False new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error new_primModNatS02(vuz130, vuz131, Zero, Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS02(vuz75000, vuz74000, vuz75000, vuz74000) The set Q consists of the following terms: new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primMinusNatS1 new_esEs(Integer(Pos(Zero))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_esEs(Integer(Neg(Succ(x0)))) new_primMinusNatS2(Succ(x0), Zero) new_primMinusNatS2(Zero, Zero) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Integer(x0), Integer(x1)) new_primModNatS02(x0, x1, Zero, 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) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_esEs(Integer(Neg(Zero))) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_esEs(Integer(Pos(Succ(x0)))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (869) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (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'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'1(False, vuz102, vuz104) -> new_gcd0Gcd'0(vuz102, new_rem(vuz104, vuz102)) new_gcd0Gcd'0(vuz102, vuz109) -> new_gcd0Gcd'(vuz109, vuz102) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(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'1(new_esEs(Integer(Pos(new_primModNatS02(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'1(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'1(new_esEs(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'1(new_esEs(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'1(new_esEs(Integer(Pos(new_primModNatS02(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'1(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'1(new_esEs(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'1(new_esEs(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'1(new_esEs(Integer(Neg(new_primModNatS02(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'1(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'1(new_esEs(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'1(new_esEs(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'1(new_esEs(Integer(Neg(new_primModNatS02(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'1(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'1(new_esEs(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'1(new_esEs(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_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primMinusNatS0(vuz32000) -> Succ(vuz32000) new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error new_primModNatS01(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error new_primModNatS1(Zero, vuz7400) -> Zero new_esEs(Integer(Pos(Succ(vuz106000)))) -> False new_rem(Integer(vuz1040), Integer(vuz1020)) -> Integer(new_primRemInt(vuz1040, vuz1020)) new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero new_error -> error([]) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS02(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_esEs(Integer(Neg(Zero))) -> True new_primModNatS02(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_esEs(Integer(Pos(Zero))) -> True new_esEs(Integer(Neg(Succ(vuz106000)))) -> False new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error new_primModNatS02(vuz130, vuz131, Zero, Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS02(vuz75000, vuz74000, vuz75000, vuz74000) The set Q consists of the following terms: new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primMinusNatS1 new_esEs(Integer(Pos(Zero))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_esEs(Integer(Neg(Succ(x0)))) new_primMinusNatS2(Succ(x0), Zero) new_primMinusNatS2(Zero, Zero) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Integer(x0), Integer(x1)) new_primModNatS02(x0, x1, Zero, 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) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_esEs(Integer(Neg(Zero))) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_esEs(Integer(Pos(Succ(x0)))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (871) 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'1(new_esEs(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'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(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'1(new_esEs(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_esEs(x_1)) = x_1 POL(new_gcd0Gcd'(x_1, x_2)) = 1 POL(new_gcd0Gcd'0(x_1, x_2)) = 1 POL(new_gcd0Gcd'1(x_1, x_2, x_3)) = x_1 POL(new_primMinusNatS0(x_1)) = 1 + x_1 POL(new_primMinusNatS1) = 1 POL(new_primMinusNatS2(x_1, x_2)) = 0 POL(new_primModNatS01(x_1, x_2)) = 1 POL(new_primModNatS02(x_1, x_2, x_3, x_4)) = 1 POL(new_primModNatS1(x_1, x_2)) = x_2 POL(new_primRemInt(x_1, x_2)) = 0 POL(new_rem(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(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS02(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS02(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS02(vuz130, vuz131, Zero, Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS02(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_esEs(Integer(Pos(Succ(vuz106000)))) -> False new_esEs(Integer(Pos(Zero))) -> True new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) new_esEs(Integer(Neg(Zero))) -> True new_esEs(Integer(Neg(Succ(vuz106000)))) -> False new_primModNatS1(Zero, vuz7400) -> Zero ---------------------------------------- (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'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'1(False, vuz102, vuz104) -> new_gcd0Gcd'0(vuz102, new_rem(vuz104, vuz102)) new_gcd0Gcd'0(vuz102, vuz109) -> new_gcd0Gcd'(vuz109, vuz102) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(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'1(new_esEs(Integer(Pos(new_primModNatS02(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'1(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'1(new_esEs(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'1(new_esEs(Integer(Pos(new_primModNatS02(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'1(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'1(new_esEs(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'1(new_esEs(Integer(Neg(new_primModNatS02(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'1(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'1(new_esEs(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'1(new_esEs(Integer(Neg(new_primModNatS02(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'1(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'1(new_esEs(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_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primMinusNatS0(vuz32000) -> Succ(vuz32000) new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error new_primModNatS01(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error new_primModNatS1(Zero, vuz7400) -> Zero new_esEs(Integer(Pos(Succ(vuz106000)))) -> False new_rem(Integer(vuz1040), Integer(vuz1020)) -> Integer(new_primRemInt(vuz1040, vuz1020)) new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero new_error -> error([]) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS02(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_esEs(Integer(Neg(Zero))) -> True new_primModNatS02(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_esEs(Integer(Pos(Zero))) -> True new_esEs(Integer(Neg(Succ(vuz106000)))) -> False new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error new_primModNatS02(vuz130, vuz131, Zero, Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS02(vuz75000, vuz74000, vuz75000, vuz74000) The set Q consists of the following terms: new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primMinusNatS1 new_esEs(Integer(Pos(Zero))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_esEs(Integer(Neg(Succ(x0)))) new_primMinusNatS2(Succ(x0), Zero) new_primMinusNatS2(Zero, Zero) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Integer(x0), Integer(x1)) new_primModNatS02(x0, x1, Zero, 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) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_esEs(Integer(Neg(Zero))) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_esEs(Integer(Pos(Succ(x0)))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (873) MNOCProof (EQUIVALENT) We use the modular non-overlap check [FROCOS05] to decrease Q to the empty set. ---------------------------------------- (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'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'1(False, vuz102, vuz104) -> new_gcd0Gcd'0(vuz102, new_rem(vuz104, vuz102)) new_gcd0Gcd'0(vuz102, vuz109) -> new_gcd0Gcd'(vuz109, vuz102) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(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'1(new_esEs(Integer(Pos(new_primModNatS02(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'1(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'1(new_esEs(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'1(new_esEs(Integer(Pos(new_primModNatS02(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'1(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'1(new_esEs(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'1(new_esEs(Integer(Neg(new_primModNatS02(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'1(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'1(new_esEs(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'1(new_esEs(Integer(Neg(new_primModNatS02(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'1(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'1(new_esEs(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_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primMinusNatS0(vuz32000) -> Succ(vuz32000) new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error new_primModNatS01(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error new_primModNatS1(Zero, vuz7400) -> Zero new_esEs(Integer(Pos(Succ(vuz106000)))) -> False new_rem(Integer(vuz1040), Integer(vuz1020)) -> Integer(new_primRemInt(vuz1040, vuz1020)) new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero new_error -> error([]) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS02(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_esEs(Integer(Neg(Zero))) -> True new_primModNatS02(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_esEs(Integer(Pos(Zero))) -> True new_esEs(Integer(Neg(Succ(vuz106000)))) -> False new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error new_primModNatS02(vuz130, vuz131, Zero, Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS02(vuz75000, vuz74000, vuz75000, vuz74000) Q is empty. We have to consider all (P,Q,R)-chains. ---------------------------------------- (875) 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'1(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'1(False, Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Zero)))), new_gcd0Gcd'1(False, x2, x3) -> new_gcd0Gcd'0(x2, new_rem(x3, x2)) which results in the following constraint: (1) (new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Zero))))=new_gcd0Gcd'1(False, x2, x3) ==> new_gcd0Gcd'(Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Zero))))_>=_new_gcd0Gcd'1(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'1(False, Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Zero))))) For Pair new_gcd0Gcd'1(False, vuz102, vuz104) -> new_gcd0Gcd'0(vuz102, new_rem(vuz104, vuz102)) the following chains were created: *We consider the chain new_gcd0Gcd'1(False, x24, x25) -> new_gcd0Gcd'0(x24, new_rem(x25, x24)), new_gcd0Gcd'0(x26, x27) -> new_gcd0Gcd'(x27, x26) which results in the following constraint: (1) (new_gcd0Gcd'0(x24, new_rem(x25, x24))=new_gcd0Gcd'0(x26, x27) ==> new_gcd0Gcd'1(False, x24, x25)_>=_new_gcd0Gcd'0(x24, new_rem(x25, x24))) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (new_gcd0Gcd'1(False, x24, x25)_>=_new_gcd0Gcd'0(x24, new_rem(x25, x24))) For Pair new_gcd0Gcd'0(vuz102, vuz109) -> new_gcd0Gcd'(vuz109, vuz102) the following chains were created: *We consider the chain new_gcd0Gcd'0(x58, x59) -> new_gcd0Gcd'(x59, x58), new_gcd0Gcd'(Integer(Neg(Succ(Succ(x60)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(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'0(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'0(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'0(x65, x66) -> new_gcd0Gcd'(x66, x65), new_gcd0Gcd'(Integer(Pos(Succ(Succ(x67)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(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'0(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'0(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'0(x68, x69) -> new_gcd0Gcd'(x69, x68), new_gcd0Gcd'(Integer(Pos(Succ(Succ(x70)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(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'0(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'0(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'0(x71, x72) -> new_gcd0Gcd'(x72, x71), new_gcd0Gcd'(Integer(Neg(Succ(Succ(x73)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(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'0(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'0(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'0(x74, x75) -> new_gcd0Gcd'(x75, x74), new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x76))))), Integer(Pos(Succ(Succ(Succ(x77)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS02(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'0(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'0(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'0(x78, x79) -> new_gcd0Gcd'(x79, x78), new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x80))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(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'0(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'0(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'0(x81, x82) -> new_gcd0Gcd'(x82, x81), new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x83)))))) -> new_gcd0Gcd'1(new_esEs(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'0(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'0(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'0(x84, x85) -> new_gcd0Gcd'(x85, x84), new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x86))))), Integer(Pos(Succ(Succ(Succ(x87)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS02(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'0(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'0(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'0(x88, x89) -> new_gcd0Gcd'(x89, x88), new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x90))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(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'0(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'0(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'0(x91, x92) -> new_gcd0Gcd'(x92, x91), new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x93)))))) -> new_gcd0Gcd'1(new_esEs(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'0(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'0(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'0(x94, x95) -> new_gcd0Gcd'(x95, x94), new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x96))))), Integer(Neg(Succ(Succ(Succ(x97)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS02(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'0(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'0(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'0(x98, x99) -> new_gcd0Gcd'(x99, x98), new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x100))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(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'0(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'0(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'0(x101, x102) -> new_gcd0Gcd'(x102, x101), new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x103)))))) -> new_gcd0Gcd'1(new_esEs(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'0(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'0(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'0(x104, x105) -> new_gcd0Gcd'(x105, x104), new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x106))))), Integer(Neg(Succ(Succ(Succ(x107)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS02(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'0(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'0(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'0(x108, x109) -> new_gcd0Gcd'(x109, x108), new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x110))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(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'0(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'0(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'0(x111, x112) -> new_gcd0Gcd'(x112, x111), new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x113)))))) -> new_gcd0Gcd'1(new_esEs(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'0(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'0(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'1(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'1(False, Integer(Pos(Succ(Succ(x115)))), Integer(Pos(Succ(Zero)))), new_gcd0Gcd'1(False, x116, x117) -> new_gcd0Gcd'0(x116, new_rem(x117, x116)) which results in the following constraint: (1) (new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x115)))), Integer(Pos(Succ(Zero))))=new_gcd0Gcd'1(False, x116, x117) ==> new_gcd0Gcd'(Integer(Pos(Succ(Succ(x115)))), Integer(Pos(Succ(Zero))))_>=_new_gcd0Gcd'1(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'1(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'1(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'1(False, Integer(Pos(Succ(Succ(x135)))), Integer(Neg(Succ(Zero)))), new_gcd0Gcd'1(False, x136, x137) -> new_gcd0Gcd'0(x136, new_rem(x137, x136)) which results in the following constraint: (1) (new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x135)))), Integer(Neg(Succ(Zero))))=new_gcd0Gcd'1(False, x136, x137) ==> new_gcd0Gcd'(Integer(Pos(Succ(Succ(x135)))), Integer(Neg(Succ(Zero))))_>=_new_gcd0Gcd'1(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'1(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'1(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'1(False, Integer(Neg(Succ(Succ(x155)))), Integer(Neg(Succ(Zero)))), new_gcd0Gcd'1(False, x156, x157) -> new_gcd0Gcd'0(x156, new_rem(x157, x156)) which results in the following constraint: (1) (new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x155)))), Integer(Neg(Succ(Zero))))=new_gcd0Gcd'1(False, x156, x157) ==> new_gcd0Gcd'(Integer(Neg(Succ(Succ(x155)))), Integer(Neg(Succ(Zero))))_>=_new_gcd0Gcd'1(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'1(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'1(new_esEs(Integer(Pos(new_primModNatS02(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'1(new_esEs(Integer(Pos(new_primModNatS02(Succ(x177), Succ(x176), x177, x176)))), Integer(Neg(Succ(Succ(Succ(x176))))), Integer(Pos(Succ(Succ(Succ(x177)))))), new_gcd0Gcd'1(False, x178, x179) -> new_gcd0Gcd'0(x178, new_rem(x179, x178)) which results in the following constraint: (1) (new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS02(Succ(x177), Succ(x176), x177, x176)))), Integer(Neg(Succ(Succ(Succ(x176))))), Integer(Pos(Succ(Succ(Succ(x177))))))=new_gcd0Gcd'1(False, x178, x179) ==> new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x176))))), Integer(Pos(Succ(Succ(Succ(x177))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS02(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_primModNatS02(Succ(x177), Succ(x176), x177, x176)))=x486 & new_esEs(x486)=False ==> new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x176))))), Integer(Pos(Succ(Succ(Succ(x177))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS02(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_esEs(x486)=False which results in the following new constraints: (3) (False=False & Integer(Pos(new_primModNatS02(Succ(x177), Succ(x176), x177, x176)))=Integer(Pos(Succ(x487))) ==> new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x176))))), Integer(Pos(Succ(Succ(Succ(x177))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS02(Succ(x177), Succ(x176), x177, x176)))), Integer(Neg(Succ(Succ(Succ(x176))))), Integer(Pos(Succ(Succ(Succ(x177))))))) (4) (False=False & Integer(Pos(new_primModNatS02(Succ(x177), Succ(x176), x177, x176)))=Integer(Neg(Succ(x488))) ==> new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x176))))), Integer(Pos(Succ(Succ(Succ(x177))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS02(Succ(x177), Succ(x176), x177, x176)))), Integer(Neg(Succ(Succ(Succ(x176))))), Integer(Pos(Succ(Succ(Succ(x177))))))) We simplified constraint (3) using rules (I), (II), (VII) which results in the following new constraint: (5) (Succ(x177)=x489 & Succ(x176)=x490 & new_primModNatS02(x489, x490, x177, x176)=Succ(x487) ==> new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x176))))), Integer(Pos(Succ(Succ(Succ(x177))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS02(Succ(x177), Succ(x176), x177, x176)))), Integer(Neg(Succ(Succ(Succ(x176))))), Integer(Pos(Succ(Succ(Succ(x177))))))) We solved constraint (4) using rules (I), (II).We simplified constraint (5) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x489, x490, x177, x176)=Succ(x487) which results in the following new constraints: (6) (new_primModNatS01(x493, x492)=Succ(x487) & Succ(Succ(x491))=x493 & Succ(Zero)=x492 ==> new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(Zero))))), Integer(Pos(Succ(Succ(Succ(Succ(x491)))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS02(Succ(Succ(x491)), Succ(Zero), Succ(x491), Zero)))), Integer(Neg(Succ(Succ(Succ(Zero))))), Integer(Pos(Succ(Succ(Succ(Succ(x491)))))))) (7) (new_primModNatS02(x497, x496, x495, x494)=Succ(x487) & Succ(Succ(x495))=x497 & Succ(Succ(x494))=x496 & (\/x498:new_primModNatS02(x497, x496, x495, x494)=Succ(x498) & Succ(x495)=x497 & Succ(x494)=x496 ==> new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x494))))), Integer(Pos(Succ(Succ(Succ(x495))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS02(Succ(x495), Succ(x494), x495, x494)))), Integer(Neg(Succ(Succ(Succ(x494))))), Integer(Pos(Succ(Succ(Succ(x495))))))) ==> new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(Succ(x494)))))), Integer(Pos(Succ(Succ(Succ(Succ(x495)))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS02(Succ(Succ(x495)), Succ(Succ(x494)), Succ(x495), Succ(x494))))), Integer(Neg(Succ(Succ(Succ(Succ(x494)))))), Integer(Pos(Succ(Succ(Succ(Succ(x495)))))))) (8) (Succ(Succ(x501))=Succ(x487) & Succ(Zero)=x501 & Succ(Succ(x499))=x500 ==> new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(Succ(x499)))))), Integer(Pos(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS02(Succ(Zero), Succ(Succ(x499)), Zero, Succ(x499))))), Integer(Neg(Succ(Succ(Succ(Succ(x499)))))), Integer(Pos(Succ(Succ(Succ(Zero))))))) (9) (new_primModNatS01(x503, x502)=Succ(x487) & Succ(Zero)=x503 & Succ(Zero)=x502 ==> new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(Zero))))), Integer(Pos(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero)))), Integer(Neg(Succ(Succ(Succ(Zero))))), Integer(Pos(Succ(Succ(Succ(Zero))))))) We simplified constraint (6) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x493, x492)=Succ(x487) which results in the following new constraint: (10) (new_primModNatS1(new_primMinusNatS2(Succ(x505), Succ(x504)), Succ(x504))=Succ(x487) & Succ(Succ(x491))=x505 & Succ(Zero)=x504 ==> new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(Zero))))), Integer(Pos(Succ(Succ(Succ(Succ(x491)))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS02(Succ(Succ(x491)), Succ(Zero), Succ(x491), Zero)))), Integer(Neg(Succ(Succ(Succ(Zero))))), Integer(Pos(Succ(Succ(Succ(Succ(x491)))))))) We simplified constraint (7) using rule (IV) which results in the following new constraint: (11) (new_primModNatS02(x497, x496, x495, x494)=Succ(x487) & Succ(Succ(x495))=x497 & Succ(Succ(x494))=x496 ==> new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(Succ(x494)))))), Integer(Pos(Succ(Succ(Succ(Succ(x495)))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS02(Succ(Succ(x495)), Succ(Succ(x494)), Succ(x495), Succ(x494))))), Integer(Neg(Succ(Succ(Succ(Succ(x494)))))), Integer(Pos(Succ(Succ(Succ(Succ(x495)))))))) We simplified constraint (8) using rules (I), (II), (IV) which results in the following new constraint: (12) (new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(Succ(x499)))))), Integer(Pos(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS02(Succ(Zero), Succ(Succ(x499)), Zero, Succ(x499))))), Integer(Neg(Succ(Succ(Succ(Succ(x499)))))), Integer(Pos(Succ(Succ(Succ(Zero))))))) We simplified constraint (9) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x503, x502)=Succ(x487) which results in the following new constraint: (13) (new_primModNatS1(new_primMinusNatS2(Succ(x524), Succ(x523)), Succ(x523))=Succ(x487) & Succ(Zero)=x524 & Succ(Zero)=x523 ==> new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(Zero))))), Integer(Pos(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero)))), Integer(Neg(Succ(Succ(Succ(Zero))))), Integer(Pos(Succ(Succ(Succ(Zero))))))) We simplified constraint (10) using rules (III), (IV), (VII) which results in the following new constraint: (14) (new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(Zero))))), Integer(Pos(Succ(Succ(Succ(Succ(x491)))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS02(Succ(Succ(x491)), Succ(Zero), Succ(x491), Zero)))), Integer(Neg(Succ(Succ(Succ(Zero))))), Integer(Pos(Succ(Succ(Succ(Succ(x491)))))))) We simplified constraint (11) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x497, x496, x495, x494)=Succ(x487) which results in the following new constraints: (15) (new_primModNatS01(x512, x511)=Succ(x487) & Succ(Succ(Succ(x510)))=x512 & Succ(Succ(Zero))=x511 ==> new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))), Integer(Pos(Succ(Succ(Succ(Succ(Succ(x510))))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS02(Succ(Succ(Succ(x510))), Succ(Succ(Zero)), Succ(Succ(x510)), Succ(Zero))))), Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))), Integer(Pos(Succ(Succ(Succ(Succ(Succ(x510))))))))) (16) (new_primModNatS02(x516, x515, x514, x513)=Succ(x487) & Succ(Succ(Succ(x514)))=x516 & Succ(Succ(Succ(x513)))=x515 & (\/x517:new_primModNatS02(x516, x515, x514, x513)=Succ(x517) & Succ(Succ(x514))=x516 & Succ(Succ(x513))=x515 ==> new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(Succ(x513)))))), Integer(Pos(Succ(Succ(Succ(Succ(x514)))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS02(Succ(Succ(x514)), Succ(Succ(x513)), Succ(x514), Succ(x513))))), Integer(Neg(Succ(Succ(Succ(Succ(x513)))))), Integer(Pos(Succ(Succ(Succ(Succ(x514)))))))) ==> new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(Succ(Succ(x513))))))), Integer(Pos(Succ(Succ(Succ(Succ(Succ(x514))))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS02(Succ(Succ(Succ(x514))), Succ(Succ(Succ(x513))), Succ(Succ(x514)), Succ(Succ(x513)))))), Integer(Neg(Succ(Succ(Succ(Succ(Succ(x513))))))), Integer(Pos(Succ(Succ(Succ(Succ(Succ(x514))))))))) (17) (Succ(Succ(x520))=Succ(x487) & Succ(Succ(Zero))=x520 & Succ(Succ(Succ(x518)))=x519 ==> new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(Succ(Succ(x518))))))), Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Succ(x518))), Succ(Zero), Succ(Succ(x518)))))), Integer(Neg(Succ(Succ(Succ(Succ(Succ(x518))))))), Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))))) (18) (new_primModNatS01(x522, x521)=Succ(x487) & Succ(Succ(Zero))=x522 & Succ(Succ(Zero))=x521 ==> new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))), Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS02(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 (15) using rules (III), (IV) which results in the following new constraint: (19) (new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))), Integer(Pos(Succ(Succ(Succ(Succ(Succ(x510))))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS02(Succ(Succ(Succ(x510))), Succ(Succ(Zero)), Succ(Succ(x510)), Succ(Zero))))), Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))), Integer(Pos(Succ(Succ(Succ(Succ(Succ(x510))))))))) We simplified constraint (16) using rules (III), (IV) which results in the following new constraint: (20) (new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(Succ(Succ(x513))))))), Integer(Pos(Succ(Succ(Succ(Succ(Succ(x514))))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS02(Succ(Succ(Succ(x514))), Succ(Succ(Succ(x513))), Succ(Succ(x514)), Succ(Succ(x513)))))), Integer(Neg(Succ(Succ(Succ(Succ(Succ(x513))))))), Integer(Pos(Succ(Succ(Succ(Succ(Succ(x514))))))))) We simplified constraint (17) using rules (I), (II), (IV) which results in the following new constraint: (21) (new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(Succ(Succ(x518))))))), Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Succ(x518))), Succ(Zero), Succ(Succ(x518)))))), Integer(Neg(Succ(Succ(Succ(Succ(Succ(x518))))))), Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))))) We simplified constraint (18) using rules (III), (IV) which results in the following new constraint: (22) (new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))), Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS02(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 (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(Zero))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero)))), Integer(Neg(Succ(Succ(Succ(Zero))))), Integer(Pos(Succ(Succ(Succ(Zero))))))) For Pair new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(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'1(False, Integer(Neg(Succ(Succ(Succ(x213))))), Integer(Pos(Succ(Succ(Zero))))), new_gcd0Gcd'1(False, x214, x215) -> new_gcd0Gcd'0(x214, new_rem(x215, x214)) which results in the following constraint: (1) (new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x213))))), Integer(Pos(Succ(Succ(Zero)))))=new_gcd0Gcd'1(False, x214, x215) ==> new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x213))))), Integer(Pos(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(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'1(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'1(new_esEs(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'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x233), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x233)))))), new_gcd0Gcd'1(False, x234, x235) -> new_gcd0Gcd'0(x234, new_rem(x235, x234)) which results in the following constraint: (1) (new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x233), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x233))))))=new_gcd0Gcd'1(False, x234, x235) ==> new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x233))))))_>=_new_gcd0Gcd'1(new_esEs(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_esEs(x529)=False ==> new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x233))))))_>=_new_gcd0Gcd'1(new_esEs(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_esEs(x529)=False which results in the following new constraints: (3) (False=False & Integer(Pos(new_primModNatS1(Succ(x233), Succ(Zero))))=Integer(Pos(Succ(x530))) ==> new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x233))))))_>=_new_gcd0Gcd'1(new_esEs(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(Neg(Succ(x531))) ==> new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x233))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x233), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x233))))))) We simplified constraint (3) using rules (I), (II), (VII) which results in the following new constraint: (5) (Succ(x233)=x532 & Succ(Zero)=x533 & new_primModNatS1(x532, x533)=Succ(x530) ==> new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x233))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x233), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x233))))))) We solved constraint (4) using rules (I), (II).We simplified constraint (5) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS1(x532, x533)=Succ(x530) which results in the following new constraints: (6) (new_primModNatS1(new_primMinusNatS0(x534), Zero)=Succ(x530) & Succ(x233)=Succ(Succ(x534)) & Succ(Zero)=Zero ==> new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x233))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x233), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x233))))))) (7) (Succ(Zero)=Succ(x530) & Succ(x233)=Succ(Zero) & Succ(Zero)=Succ(x535) ==> new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x233))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x233), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x233))))))) (8) (new_primModNatS1(new_primMinusNatS1, Zero)=Succ(x530) & Succ(x233)=Succ(Zero) & Succ(Zero)=Zero ==> new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x233))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x233), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x233))))))) (9) (new_primModNatS02(x538, x537, x538, x537)=Succ(x530) & Succ(x233)=Succ(Succ(x538)) & Succ(Zero)=Succ(x537) ==> new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x233))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x233), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x233))))))) We solved constraint (6) using rules (I), (II).We simplified constraint (7) 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'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(Zero), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(Zero))))))) We solved constraint (8) using rules (I), (II).We simplified constraint (9) using rules (I), (II), (III), (VII) which results in the following new constraint: (11) (x538=x539 & x537=x540 & new_primModNatS02(x538, x537, x539, x540)=Succ(x530) & Zero=x537 ==> new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(Succ(x538)))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(Succ(x538)), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(Succ(x538)))))))) We simplified constraint (11) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x538, x537, x539, x540)=Succ(x530) which results in the following new constraints: (12) (new_primModNatS01(x543, x542)=Succ(x530) & x543=Succ(x541) & x542=Zero & Zero=x542 ==> new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(Succ(x543)))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(Succ(x543)), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(Succ(x543)))))))) (13) (new_primModNatS02(x547, x546, x545, x544)=Succ(x530) & x547=Succ(x545) & x546=Succ(x544) & Zero=x546 & (\/x548:new_primModNatS02(x547, x546, x545, x544)=Succ(x548) & x547=x545 & x546=x544 & Zero=x546 ==> new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(Succ(x547)))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(Succ(x547)), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(Succ(x547)))))))) ==> new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(Succ(x547)))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(Succ(x547)), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(Succ(x547)))))))) (14) (Succ(Succ(x551))=Succ(x530) & x551=Zero & x550=Succ(x549) & Zero=x550 ==> new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(Succ(x551)))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(Succ(x551)), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(Succ(x551)))))))) (15) (new_primModNatS01(x553, x552)=Succ(x530) & x553=Zero & x552=Zero & Zero=x552 ==> new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(Succ(x553)))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(Succ(x553)), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(Succ(x553)))))))) We simplified constraint (12) 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(Succ(x541))))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(Succ(Succ(x541))), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(Succ(Succ(x541))))))))) We solved constraint (13) using rules (I), (II), (III).We solved constraint (14) using rules (I), (II), (III), (IV).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(Zero)))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(Succ(Zero)), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))))) For Pair new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS02(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'1(new_esEs(Integer(Pos(new_primModNatS02(Succ(x255), Succ(x254), x255, x254)))), Integer(Pos(Succ(Succ(Succ(x254))))), Integer(Pos(Succ(Succ(Succ(x255)))))), new_gcd0Gcd'1(False, x256, x257) -> new_gcd0Gcd'0(x256, new_rem(x257, x256)) which results in the following constraint: (1) (new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS02(Succ(x255), Succ(x254), x255, x254)))), Integer(Pos(Succ(Succ(Succ(x254))))), Integer(Pos(Succ(Succ(Succ(x255))))))=new_gcd0Gcd'1(False, x256, x257) ==> new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x254))))), Integer(Pos(Succ(Succ(Succ(x255))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS02(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_primModNatS02(Succ(x255), Succ(x254), x255, x254)))=x558 & new_esEs(x558)=False ==> new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x254))))), Integer(Pos(Succ(Succ(Succ(x255))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS02(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_esEs(x558)=False which results in the following new constraints: (3) (False=False & Integer(Pos(new_primModNatS02(Succ(x255), Succ(x254), x255, x254)))=Integer(Pos(Succ(x559))) ==> new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x254))))), Integer(Pos(Succ(Succ(Succ(x255))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS02(Succ(x255), Succ(x254), x255, x254)))), Integer(Pos(Succ(Succ(Succ(x254))))), Integer(Pos(Succ(Succ(Succ(x255))))))) (4) (False=False & Integer(Pos(new_primModNatS02(Succ(x255), Succ(x254), x255, x254)))=Integer(Neg(Succ(x560))) ==> new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x254))))), Integer(Pos(Succ(Succ(Succ(x255))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS02(Succ(x255), Succ(x254), x255, x254)))), Integer(Pos(Succ(Succ(Succ(x254))))), Integer(Pos(Succ(Succ(Succ(x255))))))) We simplified constraint (3) using rules (I), (II), (VII) which results in the following new constraint: (5) (Succ(x255)=x561 & Succ(x254)=x562 & new_primModNatS02(x561, x562, x255, x254)=Succ(x559) ==> new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x254))))), Integer(Pos(Succ(Succ(Succ(x255))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS02(Succ(x255), Succ(x254), x255, x254)))), Integer(Pos(Succ(Succ(Succ(x254))))), Integer(Pos(Succ(Succ(Succ(x255))))))) We solved constraint (4) using rules (I), (II).We simplified constraint (5) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x561, x562, x255, x254)=Succ(x559) which results in the following new constraints: (6) (new_primModNatS01(x565, x564)=Succ(x559) & Succ(Succ(x563))=x565 & Succ(Zero)=x564 ==> new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(Zero))))), Integer(Pos(Succ(Succ(Succ(Succ(x563)))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS02(Succ(Succ(x563)), Succ(Zero), Succ(x563), Zero)))), Integer(Pos(Succ(Succ(Succ(Zero))))), Integer(Pos(Succ(Succ(Succ(Succ(x563)))))))) (7) (new_primModNatS02(x569, x568, x567, x566)=Succ(x559) & Succ(Succ(x567))=x569 & Succ(Succ(x566))=x568 & (\/x570:new_primModNatS02(x569, x568, x567, x566)=Succ(x570) & Succ(x567)=x569 & Succ(x566)=x568 ==> new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x566))))), Integer(Pos(Succ(Succ(Succ(x567))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS02(Succ(x567), Succ(x566), x567, x566)))), Integer(Pos(Succ(Succ(Succ(x566))))), Integer(Pos(Succ(Succ(Succ(x567))))))) ==> new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(Succ(x566)))))), Integer(Pos(Succ(Succ(Succ(Succ(x567)))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS02(Succ(Succ(x567)), Succ(Succ(x566)), Succ(x567), Succ(x566))))), Integer(Pos(Succ(Succ(Succ(Succ(x566)))))), Integer(Pos(Succ(Succ(Succ(Succ(x567)))))))) (8) (Succ(Succ(x573))=Succ(x559) & Succ(Zero)=x573 & Succ(Succ(x571))=x572 ==> new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(Succ(x571)))))), Integer(Pos(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS02(Succ(Zero), Succ(Succ(x571)), Zero, Succ(x571))))), Integer(Pos(Succ(Succ(Succ(Succ(x571)))))), Integer(Pos(Succ(Succ(Succ(Zero))))))) (9) (new_primModNatS01(x575, x574)=Succ(x559) & Succ(Zero)=x575 & Succ(Zero)=x574 ==> new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(Zero))))), Integer(Pos(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero)))), Integer(Pos(Succ(Succ(Succ(Zero))))), Integer(Pos(Succ(Succ(Succ(Zero))))))) We simplified constraint (6) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x565, x564)=Succ(x559) which results in the following new constraint: (10) (new_primModNatS1(new_primMinusNatS2(Succ(x577), Succ(x576)), Succ(x576))=Succ(x559) & Succ(Succ(x563))=x577 & Succ(Zero)=x576 ==> new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(Zero))))), Integer(Pos(Succ(Succ(Succ(Succ(x563)))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS02(Succ(Succ(x563)), Succ(Zero), Succ(x563), Zero)))), Integer(Pos(Succ(Succ(Succ(Zero))))), Integer(Pos(Succ(Succ(Succ(Succ(x563)))))))) We simplified constraint (7) using rule (IV) which results in the following new constraint: (11) (new_primModNatS02(x569, x568, x567, x566)=Succ(x559) & Succ(Succ(x567))=x569 & Succ(Succ(x566))=x568 ==> new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(Succ(x566)))))), Integer(Pos(Succ(Succ(Succ(Succ(x567)))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS02(Succ(Succ(x567)), Succ(Succ(x566)), Succ(x567), Succ(x566))))), Integer(Pos(Succ(Succ(Succ(Succ(x566)))))), Integer(Pos(Succ(Succ(Succ(Succ(x567)))))))) We simplified constraint (8) using rules (I), (II), (IV) which results in the following new constraint: (12) (new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(Succ(x571)))))), Integer(Pos(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS02(Succ(Zero), Succ(Succ(x571)), Zero, Succ(x571))))), Integer(Pos(Succ(Succ(Succ(Succ(x571)))))), Integer(Pos(Succ(Succ(Succ(Zero))))))) We simplified constraint (9) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x575, x574)=Succ(x559) which results in the following new constraint: (13) (new_primModNatS1(new_primMinusNatS2(Succ(x596), Succ(x595)), Succ(x595))=Succ(x559) & Succ(Zero)=x596 & Succ(Zero)=x595 ==> new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(Zero))))), Integer(Pos(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero)))), Integer(Pos(Succ(Succ(Succ(Zero))))), Integer(Pos(Succ(Succ(Succ(Zero))))))) We simplified constraint (10) using rules (III), (IV), (VII) which results in the following new constraint: (14) (new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(Zero))))), Integer(Pos(Succ(Succ(Succ(Succ(x563)))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS02(Succ(Succ(x563)), Succ(Zero), Succ(x563), Zero)))), Integer(Pos(Succ(Succ(Succ(Zero))))), Integer(Pos(Succ(Succ(Succ(Succ(x563)))))))) We simplified constraint (11) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x569, x568, x567, x566)=Succ(x559) which results in the following new constraints: (15) (new_primModNatS01(x584, x583)=Succ(x559) & Succ(Succ(Succ(x582)))=x584 & Succ(Succ(Zero))=x583 ==> new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))), Integer(Pos(Succ(Succ(Succ(Succ(Succ(x582))))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS02(Succ(Succ(Succ(x582))), Succ(Succ(Zero)), Succ(Succ(x582)), Succ(Zero))))), Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))), Integer(Pos(Succ(Succ(Succ(Succ(Succ(x582))))))))) (16) (new_primModNatS02(x588, x587, x586, x585)=Succ(x559) & Succ(Succ(Succ(x586)))=x588 & Succ(Succ(Succ(x585)))=x587 & (\/x589:new_primModNatS02(x588, x587, x586, x585)=Succ(x589) & Succ(Succ(x586))=x588 & Succ(Succ(x585))=x587 ==> new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(Succ(x585)))))), Integer(Pos(Succ(Succ(Succ(Succ(x586)))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS02(Succ(Succ(x586)), Succ(Succ(x585)), Succ(x586), Succ(x585))))), Integer(Pos(Succ(Succ(Succ(Succ(x585)))))), Integer(Pos(Succ(Succ(Succ(Succ(x586)))))))) ==> new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(Succ(Succ(x585))))))), Integer(Pos(Succ(Succ(Succ(Succ(Succ(x586))))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS02(Succ(Succ(Succ(x586))), Succ(Succ(Succ(x585))), Succ(Succ(x586)), Succ(Succ(x585)))))), Integer(Pos(Succ(Succ(Succ(Succ(Succ(x585))))))), Integer(Pos(Succ(Succ(Succ(Succ(Succ(x586))))))))) (17) (Succ(Succ(x592))=Succ(x559) & Succ(Succ(Zero))=x592 & Succ(Succ(Succ(x590)))=x591 ==> new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(Succ(Succ(x590))))))), Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Succ(x590))), Succ(Zero), Succ(Succ(x590)))))), Integer(Pos(Succ(Succ(Succ(Succ(Succ(x590))))))), Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))))) (18) (new_primModNatS01(x594, x593)=Succ(x559) & Succ(Succ(Zero))=x594 & Succ(Succ(Zero))=x593 ==> new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))), Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS02(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 (15) using rules (III), (IV) which results in the following new constraint: (19) (new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))), Integer(Pos(Succ(Succ(Succ(Succ(Succ(x582))))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS02(Succ(Succ(Succ(x582))), Succ(Succ(Zero)), Succ(Succ(x582)), Succ(Zero))))), Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))), Integer(Pos(Succ(Succ(Succ(Succ(Succ(x582))))))))) We simplified constraint (16) using rules (III), (IV) which results in the following new constraint: (20) (new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(Succ(Succ(x585))))))), Integer(Pos(Succ(Succ(Succ(Succ(Succ(x586))))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS02(Succ(Succ(Succ(x586))), Succ(Succ(Succ(x585))), Succ(Succ(x586)), Succ(Succ(x585)))))), Integer(Pos(Succ(Succ(Succ(Succ(Succ(x585))))))), Integer(Pos(Succ(Succ(Succ(Succ(Succ(x586))))))))) We simplified constraint (17) using rules (I), (II), (IV) which results in the following new constraint: (21) (new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(Succ(Succ(x590))))))), Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Succ(x590))), Succ(Zero), Succ(Succ(x590)))))), Integer(Pos(Succ(Succ(Succ(Succ(Succ(x590))))))), Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))))) We simplified constraint (18) using rules (III), (IV) which results in the following new constraint: (22) (new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))), Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS02(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 (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(Zero))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero)))), Integer(Pos(Succ(Succ(Succ(Zero))))), Integer(Pos(Succ(Succ(Succ(Zero))))))) For Pair new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(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'1(False, Integer(Pos(Succ(Succ(Succ(x291))))), Integer(Pos(Succ(Succ(Zero))))), new_gcd0Gcd'1(False, x292, x293) -> new_gcd0Gcd'0(x292, new_rem(x293, x292)) which results in the following constraint: (1) (new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(x291))))), Integer(Pos(Succ(Succ(Zero)))))=new_gcd0Gcd'1(False, x292, x293) ==> new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x291))))), Integer(Pos(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(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'1(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'1(new_esEs(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'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x311), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x311)))))), new_gcd0Gcd'1(False, x312, x313) -> new_gcd0Gcd'0(x312, new_rem(x313, x312)) which results in the following constraint: (1) (new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x311), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x311))))))=new_gcd0Gcd'1(False, x312, x313) ==> new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x311))))))_>=_new_gcd0Gcd'1(new_esEs(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_esEs(x601)=False ==> new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x311))))))_>=_new_gcd0Gcd'1(new_esEs(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_esEs(x601)=False which results in the following new constraints: (3) (False=False & Integer(Pos(new_primModNatS1(Succ(x311), Succ(Zero))))=Integer(Pos(Succ(x602))) ==> new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x311))))))_>=_new_gcd0Gcd'1(new_esEs(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(Neg(Succ(x603))) ==> new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x311))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x311), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x311))))))) We simplified constraint (3) using rules (I), (II), (VII) which results in the following new constraint: (5) (Succ(x311)=x604 & Succ(Zero)=x605 & new_primModNatS1(x604, x605)=Succ(x602) ==> new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x311))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x311), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x311))))))) We solved constraint (4) using rules (I), (II).We simplified constraint (5) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS1(x604, x605)=Succ(x602) which results in the following new constraints: (6) (new_primModNatS1(new_primMinusNatS0(x606), Zero)=Succ(x602) & Succ(x311)=Succ(Succ(x606)) & Succ(Zero)=Zero ==> new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x311))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x311), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x311))))))) (7) (Succ(Zero)=Succ(x602) & Succ(x311)=Succ(Zero) & Succ(Zero)=Succ(x607) ==> new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x311))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x311), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x311))))))) (8) (new_primModNatS1(new_primMinusNatS1, Zero)=Succ(x602) & Succ(x311)=Succ(Zero) & Succ(Zero)=Zero ==> new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x311))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x311), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x311))))))) (9) (new_primModNatS02(x610, x609, x610, x609)=Succ(x602) & Succ(x311)=Succ(Succ(x610)) & Succ(Zero)=Succ(x609) ==> new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x311))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x311), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x311))))))) We solved constraint (6) using rules (I), (II).We simplified constraint (7) 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'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(Zero), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(Zero))))))) We solved constraint (8) using rules (I), (II).We simplified constraint (9) using rules (I), (II), (III), (VII) which results in the following new constraint: (11) (x610=x611 & x609=x612 & new_primModNatS02(x610, x609, x611, x612)=Succ(x602) & Zero=x609 ==> new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(Succ(x610)))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(Succ(x610)), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(Succ(x610)))))))) We simplified constraint (11) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x610, x609, x611, x612)=Succ(x602) which results in the following new constraints: (12) (new_primModNatS01(x615, x614)=Succ(x602) & x615=Succ(x613) & x614=Zero & Zero=x614 ==> new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(Succ(x615)))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(Succ(x615)), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(Succ(x615)))))))) (13) (new_primModNatS02(x619, x618, x617, x616)=Succ(x602) & x619=Succ(x617) & x618=Succ(x616) & Zero=x618 & (\/x620:new_primModNatS02(x619, x618, x617, x616)=Succ(x620) & x619=x617 & x618=x616 & Zero=x618 ==> new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(Succ(x619)))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(Succ(x619)), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(Succ(x619)))))))) ==> new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(Succ(x619)))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(Succ(x619)), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(Succ(x619)))))))) (14) (Succ(Succ(x623))=Succ(x602) & x623=Zero & x622=Succ(x621) & Zero=x622 ==> new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(Succ(x623)))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(Succ(x623)), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(Succ(x623)))))))) (15) (new_primModNatS01(x625, x624)=Succ(x602) & x625=Zero & x624=Zero & Zero=x624 ==> new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(Succ(x625)))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(Succ(x625)), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(Succ(x625)))))))) We simplified constraint (12) 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(Succ(x613))))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(Succ(Succ(x613))), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(Succ(Succ(x613))))))))) We solved constraint (13) using rules (I), (II), (III).We solved constraint (14) using rules (I), (II), (III), (IV).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(Zero)))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(Succ(Zero)), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))))) For Pair new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS02(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'1(new_esEs(Integer(Neg(new_primModNatS02(Succ(x333), Succ(x332), x333, x332)))), Integer(Pos(Succ(Succ(Succ(x332))))), Integer(Neg(Succ(Succ(Succ(x333)))))), new_gcd0Gcd'1(False, x334, x335) -> new_gcd0Gcd'0(x334, new_rem(x335, x334)) which results in the following constraint: (1) (new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS02(Succ(x333), Succ(x332), x333, x332)))), Integer(Pos(Succ(Succ(Succ(x332))))), Integer(Neg(Succ(Succ(Succ(x333))))))=new_gcd0Gcd'1(False, x334, x335) ==> new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x332))))), Integer(Neg(Succ(Succ(Succ(x333))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS02(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_primModNatS02(Succ(x333), Succ(x332), x333, x332)))=x630 & new_esEs(x630)=False ==> new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x332))))), Integer(Neg(Succ(Succ(Succ(x333))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS02(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_esEs(x630)=False which results in the following new constraints: (3) (False=False & Integer(Neg(new_primModNatS02(Succ(x333), Succ(x332), x333, x332)))=Integer(Pos(Succ(x631))) ==> new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x332))))), Integer(Neg(Succ(Succ(Succ(x333))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS02(Succ(x333), Succ(x332), x333, x332)))), Integer(Pos(Succ(Succ(Succ(x332))))), Integer(Neg(Succ(Succ(Succ(x333))))))) (4) (False=False & Integer(Neg(new_primModNatS02(Succ(x333), Succ(x332), x333, x332)))=Integer(Neg(Succ(x632))) ==> new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x332))))), Integer(Neg(Succ(Succ(Succ(x333))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS02(Succ(x333), Succ(x332), x333, x332)))), Integer(Pos(Succ(Succ(Succ(x332))))), Integer(Neg(Succ(Succ(Succ(x333))))))) 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(x333)=x633 & Succ(x332)=x634 & new_primModNatS02(x633, x634, x333, x332)=Succ(x632) ==> new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x332))))), Integer(Neg(Succ(Succ(Succ(x333))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS02(Succ(x333), Succ(x332), x333, x332)))), Integer(Pos(Succ(Succ(Succ(x332))))), Integer(Neg(Succ(Succ(Succ(x333))))))) We simplified constraint (5) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x633, x634, x333, x332)=Succ(x632) which results in the following new constraints: (6) (new_primModNatS01(x637, x636)=Succ(x632) & Succ(Succ(x635))=x637 & Succ(Zero)=x636 ==> new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(Zero))))), Integer(Neg(Succ(Succ(Succ(Succ(x635)))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS02(Succ(Succ(x635)), Succ(Zero), Succ(x635), Zero)))), Integer(Pos(Succ(Succ(Succ(Zero))))), Integer(Neg(Succ(Succ(Succ(Succ(x635)))))))) (7) (new_primModNatS02(x641, x640, x639, x638)=Succ(x632) & Succ(Succ(x639))=x641 & Succ(Succ(x638))=x640 & (\/x642:new_primModNatS02(x641, x640, x639, x638)=Succ(x642) & Succ(x639)=x641 & Succ(x638)=x640 ==> new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x638))))), Integer(Neg(Succ(Succ(Succ(x639))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS02(Succ(x639), Succ(x638), x639, x638)))), Integer(Pos(Succ(Succ(Succ(x638))))), Integer(Neg(Succ(Succ(Succ(x639))))))) ==> new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(Succ(x638)))))), Integer(Neg(Succ(Succ(Succ(Succ(x639)))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS02(Succ(Succ(x639)), Succ(Succ(x638)), Succ(x639), Succ(x638))))), Integer(Pos(Succ(Succ(Succ(Succ(x638)))))), Integer(Neg(Succ(Succ(Succ(Succ(x639)))))))) (8) (Succ(Succ(x645))=Succ(x632) & Succ(Zero)=x645 & Succ(Succ(x643))=x644 ==> new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(Succ(x643)))))), Integer(Neg(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS02(Succ(Zero), Succ(Succ(x643)), Zero, Succ(x643))))), Integer(Pos(Succ(Succ(Succ(Succ(x643)))))), Integer(Neg(Succ(Succ(Succ(Zero))))))) (9) (new_primModNatS01(x647, x646)=Succ(x632) & Succ(Zero)=x647 & Succ(Zero)=x646 ==> new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(Zero))))), Integer(Neg(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero)))), Integer(Pos(Succ(Succ(Succ(Zero))))), Integer(Neg(Succ(Succ(Succ(Zero))))))) We simplified constraint (6) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x637, x636)=Succ(x632) which results in the following new constraint: (10) (new_primModNatS1(new_primMinusNatS2(Succ(x649), Succ(x648)), Succ(x648))=Succ(x632) & Succ(Succ(x635))=x649 & Succ(Zero)=x648 ==> new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(Zero))))), Integer(Neg(Succ(Succ(Succ(Succ(x635)))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS02(Succ(Succ(x635)), Succ(Zero), Succ(x635), Zero)))), Integer(Pos(Succ(Succ(Succ(Zero))))), Integer(Neg(Succ(Succ(Succ(Succ(x635)))))))) We simplified constraint (7) using rule (IV) which results in the following new constraint: (11) (new_primModNatS02(x641, x640, x639, x638)=Succ(x632) & Succ(Succ(x639))=x641 & Succ(Succ(x638))=x640 ==> new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(Succ(x638)))))), Integer(Neg(Succ(Succ(Succ(Succ(x639)))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS02(Succ(Succ(x639)), Succ(Succ(x638)), Succ(x639), Succ(x638))))), Integer(Pos(Succ(Succ(Succ(Succ(x638)))))), Integer(Neg(Succ(Succ(Succ(Succ(x639)))))))) We simplified constraint (8) using rules (I), (II), (IV) which results in the following new constraint: (12) (new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(Succ(x643)))))), Integer(Neg(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS02(Succ(Zero), Succ(Succ(x643)), Zero, Succ(x643))))), Integer(Pos(Succ(Succ(Succ(Succ(x643)))))), Integer(Neg(Succ(Succ(Succ(Zero))))))) We simplified constraint (9) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x647, x646)=Succ(x632) which results in the following new constraint: (13) (new_primModNatS1(new_primMinusNatS2(Succ(x668), Succ(x667)), Succ(x667))=Succ(x632) & Succ(Zero)=x668 & Succ(Zero)=x667 ==> new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(Zero))))), Integer(Neg(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero)))), Integer(Pos(Succ(Succ(Succ(Zero))))), Integer(Neg(Succ(Succ(Succ(Zero))))))) We simplified constraint (10) using rules (III), (IV), (VII) which results in the following new constraint: (14) (new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(Zero))))), Integer(Neg(Succ(Succ(Succ(Succ(x635)))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS02(Succ(Succ(x635)), Succ(Zero), Succ(x635), Zero)))), Integer(Pos(Succ(Succ(Succ(Zero))))), Integer(Neg(Succ(Succ(Succ(Succ(x635)))))))) We simplified constraint (11) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x641, x640, x639, x638)=Succ(x632) which results in the following new constraints: (15) (new_primModNatS01(x656, x655)=Succ(x632) & Succ(Succ(Succ(x654)))=x656 & Succ(Succ(Zero))=x655 ==> new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))), Integer(Neg(Succ(Succ(Succ(Succ(Succ(x654))))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS02(Succ(Succ(Succ(x654))), Succ(Succ(Zero)), Succ(Succ(x654)), Succ(Zero))))), Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))), Integer(Neg(Succ(Succ(Succ(Succ(Succ(x654))))))))) (16) (new_primModNatS02(x660, x659, x658, x657)=Succ(x632) & Succ(Succ(Succ(x658)))=x660 & Succ(Succ(Succ(x657)))=x659 & (\/x661:new_primModNatS02(x660, x659, x658, x657)=Succ(x661) & Succ(Succ(x658))=x660 & Succ(Succ(x657))=x659 ==> new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(Succ(x657)))))), Integer(Neg(Succ(Succ(Succ(Succ(x658)))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS02(Succ(Succ(x658)), Succ(Succ(x657)), Succ(x658), Succ(x657))))), Integer(Pos(Succ(Succ(Succ(Succ(x657)))))), Integer(Neg(Succ(Succ(Succ(Succ(x658)))))))) ==> new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(Succ(Succ(x657))))))), Integer(Neg(Succ(Succ(Succ(Succ(Succ(x658))))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS02(Succ(Succ(Succ(x658))), Succ(Succ(Succ(x657))), Succ(Succ(x658)), Succ(Succ(x657)))))), Integer(Pos(Succ(Succ(Succ(Succ(Succ(x657))))))), Integer(Neg(Succ(Succ(Succ(Succ(Succ(x658))))))))) (17) (Succ(Succ(x664))=Succ(x632) & Succ(Succ(Zero))=x664 & Succ(Succ(Succ(x662)))=x663 ==> new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(Succ(Succ(x662))))))), Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Succ(x662))), Succ(Zero), Succ(Succ(x662)))))), Integer(Pos(Succ(Succ(Succ(Succ(Succ(x662))))))), Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))))) (18) (new_primModNatS01(x666, x665)=Succ(x632) & Succ(Succ(Zero))=x666 & Succ(Succ(Zero))=x665 ==> new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))), Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS02(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 (15) using rules (III), (IV) which results in the following new constraint: (19) (new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))), Integer(Neg(Succ(Succ(Succ(Succ(Succ(x654))))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS02(Succ(Succ(Succ(x654))), Succ(Succ(Zero)), Succ(Succ(x654)), Succ(Zero))))), Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))), Integer(Neg(Succ(Succ(Succ(Succ(Succ(x654))))))))) We simplified constraint (16) using rules (III), (IV) which results in the following new constraint: (20) (new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(Succ(Succ(x657))))))), Integer(Neg(Succ(Succ(Succ(Succ(Succ(x658))))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS02(Succ(Succ(Succ(x658))), Succ(Succ(Succ(x657))), Succ(Succ(x658)), Succ(Succ(x657)))))), Integer(Pos(Succ(Succ(Succ(Succ(Succ(x657))))))), Integer(Neg(Succ(Succ(Succ(Succ(Succ(x658))))))))) We simplified constraint (17) using rules (I), (II), (IV) which results in the following new constraint: (21) (new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(Succ(Succ(x662))))))), Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Succ(x662))), Succ(Zero), Succ(Succ(x662)))))), Integer(Pos(Succ(Succ(Succ(Succ(Succ(x662))))))), Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))))) We simplified constraint (18) using rules (III), (IV) which results in the following new constraint: (22) (new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))), Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS02(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 (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(Zero))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero)))), Integer(Pos(Succ(Succ(Succ(Zero))))), Integer(Neg(Succ(Succ(Succ(Zero))))))) For Pair new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(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'1(False, Integer(Pos(Succ(Succ(Succ(x369))))), Integer(Neg(Succ(Succ(Zero))))), new_gcd0Gcd'1(False, x370, x371) -> new_gcd0Gcd'0(x370, new_rem(x371, x370)) which results in the following constraint: (1) (new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(x369))))), Integer(Neg(Succ(Succ(Zero)))))=new_gcd0Gcd'1(False, x370, x371) ==> new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x369))))), Integer(Neg(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(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'1(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'1(new_esEs(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'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(x389), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x389)))))), new_gcd0Gcd'1(False, x390, x391) -> new_gcd0Gcd'0(x390, new_rem(x391, x390)) which results in the following constraint: (1) (new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(x389), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x389))))))=new_gcd0Gcd'1(False, x390, x391) ==> new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x389))))))_>=_new_gcd0Gcd'1(new_esEs(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_esEs(x673)=False ==> new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x389))))))_>=_new_gcd0Gcd'1(new_esEs(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_esEs(x673)=False which results in the following new constraints: (3) (False=False & Integer(Neg(new_primModNatS1(Succ(x389), Succ(Zero))))=Integer(Pos(Succ(x674))) ==> new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x389))))))_>=_new_gcd0Gcd'1(new_esEs(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(Neg(Succ(x675))) ==> new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x389))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(x389), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x389))))))) 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(x389)=x676 & Succ(Zero)=x677 & new_primModNatS1(x676, x677)=Succ(x675) ==> new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x389))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(x389), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x389))))))) We simplified constraint (5) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS1(x676, x677)=Succ(x675) which results in the following new constraints: (6) (new_primModNatS1(new_primMinusNatS0(x678), Zero)=Succ(x675) & Succ(x389)=Succ(Succ(x678)) & Succ(Zero)=Zero ==> new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x389))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(x389), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x389))))))) (7) (Succ(Zero)=Succ(x675) & Succ(x389)=Succ(Zero) & Succ(Zero)=Succ(x679) ==> new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x389))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(x389), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x389))))))) (8) (new_primModNatS1(new_primMinusNatS1, Zero)=Succ(x675) & Succ(x389)=Succ(Zero) & Succ(Zero)=Zero ==> new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x389))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(x389), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x389))))))) (9) (new_primModNatS02(x682, x681, x682, x681)=Succ(x675) & Succ(x389)=Succ(Succ(x682)) & Succ(Zero)=Succ(x681) ==> new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x389))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(x389), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x389))))))) We solved constraint (6) using rules (I), (II).We simplified constraint (7) 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'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(Zero), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(Zero))))))) We solved constraint (8) using rules (I), (II).We simplified constraint (9) using rules (I), (II), (III), (VII) which results in the following new constraint: (11) (x682=x683 & x681=x684 & new_primModNatS02(x682, x681, x683, x684)=Succ(x675) & Zero=x681 ==> new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(Succ(x682)))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(Succ(x682)), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(Succ(x682)))))))) We simplified constraint (11) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x682, x681, x683, x684)=Succ(x675) which results in the following new constraints: (12) (new_primModNatS01(x687, x686)=Succ(x675) & x687=Succ(x685) & x686=Zero & Zero=x686 ==> new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(Succ(x687)))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(Succ(x687)), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(Succ(x687)))))))) (13) (new_primModNatS02(x691, x690, x689, x688)=Succ(x675) & x691=Succ(x689) & x690=Succ(x688) & Zero=x690 & (\/x692:new_primModNatS02(x691, x690, x689, x688)=Succ(x692) & x691=x689 & x690=x688 & Zero=x690 ==> new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(Succ(x691)))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(Succ(x691)), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(Succ(x691)))))))) ==> new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(Succ(x691)))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(Succ(x691)), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(Succ(x691)))))))) (14) (Succ(Succ(x695))=Succ(x675) & x695=Zero & x694=Succ(x693) & Zero=x694 ==> new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(Succ(x695)))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(Succ(x695)), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(Succ(x695)))))))) (15) (new_primModNatS01(x697, x696)=Succ(x675) & x697=Zero & x696=Zero & Zero=x696 ==> new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(Succ(x697)))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(Succ(x697)), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(Succ(x697)))))))) We simplified constraint (12) 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(Succ(x685))))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(Succ(Succ(x685))), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(Succ(Succ(x685))))))))) We solved constraint (13) using rules (I), (II), (III).We solved constraint (14) using rules (I), (II), (III), (IV).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(Zero)))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(Succ(Zero)), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))))) For Pair new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS02(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'1(new_esEs(Integer(Neg(new_primModNatS02(Succ(x411), Succ(x410), x411, x410)))), Integer(Neg(Succ(Succ(Succ(x410))))), Integer(Neg(Succ(Succ(Succ(x411)))))), new_gcd0Gcd'1(False, x412, x413) -> new_gcd0Gcd'0(x412, new_rem(x413, x412)) which results in the following constraint: (1) (new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS02(Succ(x411), Succ(x410), x411, x410)))), Integer(Neg(Succ(Succ(Succ(x410))))), Integer(Neg(Succ(Succ(Succ(x411))))))=new_gcd0Gcd'1(False, x412, x413) ==> new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x410))))), Integer(Neg(Succ(Succ(Succ(x411))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS02(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_primModNatS02(Succ(x411), Succ(x410), x411, x410)))=x702 & new_esEs(x702)=False ==> new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x410))))), Integer(Neg(Succ(Succ(Succ(x411))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS02(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_esEs(x702)=False which results in the following new constraints: (3) (False=False & Integer(Neg(new_primModNatS02(Succ(x411), Succ(x410), x411, x410)))=Integer(Pos(Succ(x703))) ==> new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x410))))), Integer(Neg(Succ(Succ(Succ(x411))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS02(Succ(x411), Succ(x410), x411, x410)))), Integer(Neg(Succ(Succ(Succ(x410))))), Integer(Neg(Succ(Succ(Succ(x411))))))) (4) (False=False & Integer(Neg(new_primModNatS02(Succ(x411), Succ(x410), x411, x410)))=Integer(Neg(Succ(x704))) ==> new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x410))))), Integer(Neg(Succ(Succ(Succ(x411))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS02(Succ(x411), Succ(x410), x411, x410)))), Integer(Neg(Succ(Succ(Succ(x410))))), Integer(Neg(Succ(Succ(Succ(x411))))))) 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(x411)=x705 & Succ(x410)=x706 & new_primModNatS02(x705, x706, x411, x410)=Succ(x704) ==> new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x410))))), Integer(Neg(Succ(Succ(Succ(x411))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS02(Succ(x411), Succ(x410), x411, x410)))), Integer(Neg(Succ(Succ(Succ(x410))))), Integer(Neg(Succ(Succ(Succ(x411))))))) We simplified constraint (5) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x705, x706, x411, x410)=Succ(x704) which results in the following new constraints: (6) (new_primModNatS01(x709, x708)=Succ(x704) & Succ(Succ(x707))=x709 & Succ(Zero)=x708 ==> new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(Zero))))), Integer(Neg(Succ(Succ(Succ(Succ(x707)))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS02(Succ(Succ(x707)), Succ(Zero), Succ(x707), Zero)))), Integer(Neg(Succ(Succ(Succ(Zero))))), Integer(Neg(Succ(Succ(Succ(Succ(x707)))))))) (7) (new_primModNatS02(x713, x712, x711, x710)=Succ(x704) & Succ(Succ(x711))=x713 & Succ(Succ(x710))=x712 & (\/x714:new_primModNatS02(x713, x712, x711, x710)=Succ(x714) & Succ(x711)=x713 & Succ(x710)=x712 ==> new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x710))))), Integer(Neg(Succ(Succ(Succ(x711))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS02(Succ(x711), Succ(x710), x711, x710)))), Integer(Neg(Succ(Succ(Succ(x710))))), Integer(Neg(Succ(Succ(Succ(x711))))))) ==> new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(Succ(x710)))))), Integer(Neg(Succ(Succ(Succ(Succ(x711)))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS02(Succ(Succ(x711)), Succ(Succ(x710)), Succ(x711), Succ(x710))))), Integer(Neg(Succ(Succ(Succ(Succ(x710)))))), Integer(Neg(Succ(Succ(Succ(Succ(x711)))))))) (8) (Succ(Succ(x717))=Succ(x704) & Succ(Zero)=x717 & Succ(Succ(x715))=x716 ==> new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(Succ(x715)))))), Integer(Neg(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS02(Succ(Zero), Succ(Succ(x715)), Zero, Succ(x715))))), Integer(Neg(Succ(Succ(Succ(Succ(x715)))))), Integer(Neg(Succ(Succ(Succ(Zero))))))) (9) (new_primModNatS01(x719, x718)=Succ(x704) & Succ(Zero)=x719 & Succ(Zero)=x718 ==> new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(Zero))))), Integer(Neg(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero)))), Integer(Neg(Succ(Succ(Succ(Zero))))), Integer(Neg(Succ(Succ(Succ(Zero))))))) We simplified constraint (6) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x709, x708)=Succ(x704) which results in the following new constraint: (10) (new_primModNatS1(new_primMinusNatS2(Succ(x721), Succ(x720)), Succ(x720))=Succ(x704) & Succ(Succ(x707))=x721 & Succ(Zero)=x720 ==> new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(Zero))))), Integer(Neg(Succ(Succ(Succ(Succ(x707)))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS02(Succ(Succ(x707)), Succ(Zero), Succ(x707), Zero)))), Integer(Neg(Succ(Succ(Succ(Zero))))), Integer(Neg(Succ(Succ(Succ(Succ(x707)))))))) We simplified constraint (7) using rule (IV) which results in the following new constraint: (11) (new_primModNatS02(x713, x712, x711, x710)=Succ(x704) & Succ(Succ(x711))=x713 & Succ(Succ(x710))=x712 ==> new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(Succ(x710)))))), Integer(Neg(Succ(Succ(Succ(Succ(x711)))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS02(Succ(Succ(x711)), Succ(Succ(x710)), Succ(x711), Succ(x710))))), Integer(Neg(Succ(Succ(Succ(Succ(x710)))))), Integer(Neg(Succ(Succ(Succ(Succ(x711)))))))) We simplified constraint (8) using rules (I), (II), (IV) which results in the following new constraint: (12) (new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(Succ(x715)))))), Integer(Neg(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS02(Succ(Zero), Succ(Succ(x715)), Zero, Succ(x715))))), Integer(Neg(Succ(Succ(Succ(Succ(x715)))))), Integer(Neg(Succ(Succ(Succ(Zero))))))) We simplified constraint (9) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x719, x718)=Succ(x704) which results in the following new constraint: (13) (new_primModNatS1(new_primMinusNatS2(Succ(x740), Succ(x739)), Succ(x739))=Succ(x704) & Succ(Zero)=x740 & Succ(Zero)=x739 ==> new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(Zero))))), Integer(Neg(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero)))), Integer(Neg(Succ(Succ(Succ(Zero))))), Integer(Neg(Succ(Succ(Succ(Zero))))))) We simplified constraint (10) using rules (III), (IV), (VII) which results in the following new constraint: (14) (new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(Zero))))), Integer(Neg(Succ(Succ(Succ(Succ(x707)))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS02(Succ(Succ(x707)), Succ(Zero), Succ(x707), Zero)))), Integer(Neg(Succ(Succ(Succ(Zero))))), Integer(Neg(Succ(Succ(Succ(Succ(x707)))))))) We simplified constraint (11) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x713, x712, x711, x710)=Succ(x704) which results in the following new constraints: (15) (new_primModNatS01(x728, x727)=Succ(x704) & Succ(Succ(Succ(x726)))=x728 & Succ(Succ(Zero))=x727 ==> new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))), Integer(Neg(Succ(Succ(Succ(Succ(Succ(x726))))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS02(Succ(Succ(Succ(x726))), Succ(Succ(Zero)), Succ(Succ(x726)), Succ(Zero))))), Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))), Integer(Neg(Succ(Succ(Succ(Succ(Succ(x726))))))))) (16) (new_primModNatS02(x732, x731, x730, x729)=Succ(x704) & Succ(Succ(Succ(x730)))=x732 & Succ(Succ(Succ(x729)))=x731 & (\/x733:new_primModNatS02(x732, x731, x730, x729)=Succ(x733) & Succ(Succ(x730))=x732 & Succ(Succ(x729))=x731 ==> new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(Succ(x729)))))), Integer(Neg(Succ(Succ(Succ(Succ(x730)))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS02(Succ(Succ(x730)), Succ(Succ(x729)), Succ(x730), Succ(x729))))), Integer(Neg(Succ(Succ(Succ(Succ(x729)))))), Integer(Neg(Succ(Succ(Succ(Succ(x730)))))))) ==> new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(Succ(Succ(x729))))))), Integer(Neg(Succ(Succ(Succ(Succ(Succ(x730))))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS02(Succ(Succ(Succ(x730))), Succ(Succ(Succ(x729))), Succ(Succ(x730)), Succ(Succ(x729)))))), Integer(Neg(Succ(Succ(Succ(Succ(Succ(x729))))))), Integer(Neg(Succ(Succ(Succ(Succ(Succ(x730))))))))) (17) (Succ(Succ(x736))=Succ(x704) & Succ(Succ(Zero))=x736 & Succ(Succ(Succ(x734)))=x735 ==> new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(Succ(Succ(x734))))))), Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Succ(x734))), Succ(Zero), Succ(Succ(x734)))))), Integer(Neg(Succ(Succ(Succ(Succ(Succ(x734))))))), Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))))) (18) (new_primModNatS01(x738, x737)=Succ(x704) & Succ(Succ(Zero))=x738 & Succ(Succ(Zero))=x737 ==> new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))), Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS02(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 (15) using rules (III), (IV) which results in the following new constraint: (19) (new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))), Integer(Neg(Succ(Succ(Succ(Succ(Succ(x726))))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS02(Succ(Succ(Succ(x726))), Succ(Succ(Zero)), Succ(Succ(x726)), Succ(Zero))))), Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))), Integer(Neg(Succ(Succ(Succ(Succ(Succ(x726))))))))) We simplified constraint (16) using rules (III), (IV) which results in the following new constraint: (20) (new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(Succ(Succ(x729))))))), Integer(Neg(Succ(Succ(Succ(Succ(Succ(x730))))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS02(Succ(Succ(Succ(x730))), Succ(Succ(Succ(x729))), Succ(Succ(x730)), Succ(Succ(x729)))))), Integer(Neg(Succ(Succ(Succ(Succ(Succ(x729))))))), Integer(Neg(Succ(Succ(Succ(Succ(Succ(x730))))))))) We simplified constraint (17) using rules (I), (II), (IV) which results in the following new constraint: (21) (new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(Succ(Succ(x734))))))), Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Succ(x734))), Succ(Zero), Succ(Succ(x734)))))), Integer(Neg(Succ(Succ(Succ(Succ(Succ(x734))))))), Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))))) We simplified constraint (18) using rules (III), (IV) which results in the following new constraint: (22) (new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))), Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS02(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 (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(Zero))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero)))), Integer(Neg(Succ(Succ(Succ(Zero))))), Integer(Neg(Succ(Succ(Succ(Zero))))))) For Pair new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(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'1(False, Integer(Neg(Succ(Succ(Succ(x447))))), Integer(Neg(Succ(Succ(Zero))))), new_gcd0Gcd'1(False, x448, x449) -> new_gcd0Gcd'0(x448, new_rem(x449, x448)) which results in the following constraint: (1) (new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x447))))), Integer(Neg(Succ(Succ(Zero)))))=new_gcd0Gcd'1(False, x448, x449) ==> new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x447))))), Integer(Neg(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(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'1(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'1(new_esEs(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'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(x467), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x467)))))), new_gcd0Gcd'1(False, x468, x469) -> new_gcd0Gcd'0(x468, new_rem(x469, x468)) which results in the following constraint: (1) (new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(x467), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x467))))))=new_gcd0Gcd'1(False, x468, x469) ==> new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x467))))))_>=_new_gcd0Gcd'1(new_esEs(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_esEs(x745)=False ==> new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x467))))))_>=_new_gcd0Gcd'1(new_esEs(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_esEs(x745)=False which results in the following new constraints: (3) (False=False & Integer(Neg(new_primModNatS1(Succ(x467), Succ(Zero))))=Integer(Pos(Succ(x746))) ==> new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x467))))))_>=_new_gcd0Gcd'1(new_esEs(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(Neg(Succ(x747))) ==> new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x467))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(x467), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x467))))))) 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(x467)=x748 & Succ(Zero)=x749 & new_primModNatS1(x748, x749)=Succ(x747) ==> new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x467))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(x467), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x467))))))) We simplified constraint (5) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS1(x748, x749)=Succ(x747) which results in the following new constraints: (6) (new_primModNatS1(new_primMinusNatS0(x750), Zero)=Succ(x747) & Succ(x467)=Succ(Succ(x750)) & Succ(Zero)=Zero ==> new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x467))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(x467), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x467))))))) (7) (Succ(Zero)=Succ(x747) & Succ(x467)=Succ(Zero) & Succ(Zero)=Succ(x751) ==> new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x467))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(x467), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x467))))))) (8) (new_primModNatS1(new_primMinusNatS1, Zero)=Succ(x747) & Succ(x467)=Succ(Zero) & Succ(Zero)=Zero ==> new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x467))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(x467), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x467))))))) (9) (new_primModNatS02(x754, x753, x754, x753)=Succ(x747) & Succ(x467)=Succ(Succ(x754)) & Succ(Zero)=Succ(x753) ==> new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x467))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(x467), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x467))))))) We solved constraint (6) using rules (I), (II).We simplified constraint (7) 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'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(Zero), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(Zero))))))) We solved constraint (8) using rules (I), (II).We simplified constraint (9) using rules (I), (II), (III), (VII) which results in the following new constraint: (11) (x754=x755 & x753=x756 & new_primModNatS02(x754, x753, x755, x756)=Succ(x747) & Zero=x753 ==> new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(Succ(x754)))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(Succ(x754)), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(Succ(x754)))))))) We simplified constraint (11) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x754, x753, x755, x756)=Succ(x747) which results in the following new constraints: (12) (new_primModNatS01(x759, x758)=Succ(x747) & x759=Succ(x757) & x758=Zero & Zero=x758 ==> new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(Succ(x759)))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(Succ(x759)), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(Succ(x759)))))))) (13) (new_primModNatS02(x763, x762, x761, x760)=Succ(x747) & x763=Succ(x761) & x762=Succ(x760) & Zero=x762 & (\/x764:new_primModNatS02(x763, x762, x761, x760)=Succ(x764) & x763=x761 & x762=x760 & Zero=x762 ==> new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(Succ(x763)))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(Succ(x763)), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(Succ(x763)))))))) ==> new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(Succ(x763)))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(Succ(x763)), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(Succ(x763)))))))) (14) (Succ(Succ(x767))=Succ(x747) & x767=Zero & x766=Succ(x765) & Zero=x766 ==> new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(Succ(x767)))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(Succ(x767)), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(Succ(x767)))))))) (15) (new_primModNatS01(x769, x768)=Succ(x747) & x769=Zero & x768=Zero & Zero=x768 ==> new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(Succ(x769)))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(Succ(x769)), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(Succ(x769)))))))) We simplified constraint (12) 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(Succ(x757))))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(Succ(Succ(x757))), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(Succ(Succ(x757))))))))) We solved constraint (13) using rules (I), (II), (III).We solved constraint (14) using rules (I), (II), (III), (IV).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(Zero)))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(Succ(Zero)), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))))) 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'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) *(new_gcd0Gcd'(Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Zero))))_>=_new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Zero))))) *new_gcd0Gcd'1(False, vuz102, vuz104) -> new_gcd0Gcd'0(vuz102, new_rem(vuz104, vuz102)) *(new_gcd0Gcd'1(False, x24, x25)_>=_new_gcd0Gcd'0(x24, new_rem(x25, x24))) *new_gcd0Gcd'0(vuz102, vuz109) -> new_gcd0Gcd'(vuz109, vuz102) *(new_gcd0Gcd'0(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x60)))))_>=_new_gcd0Gcd'(Integer(Neg(Succ(Succ(x60)))), Integer(Pos(Succ(Zero))))) *(new_gcd0Gcd'0(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x67)))))_>=_new_gcd0Gcd'(Integer(Pos(Succ(Succ(x67)))), Integer(Pos(Succ(Zero))))) *(new_gcd0Gcd'0(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x70)))))_>=_new_gcd0Gcd'(Integer(Pos(Succ(Succ(x70)))), Integer(Neg(Succ(Zero))))) *(new_gcd0Gcd'0(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x73)))))_>=_new_gcd0Gcd'(Integer(Neg(Succ(Succ(x73)))), Integer(Neg(Succ(Zero))))) *(new_gcd0Gcd'0(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'0(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'0(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'0(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'0(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'0(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'0(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'0(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'0(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'0(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'0(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'0(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'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) *(new_gcd0Gcd'(Integer(Pos(Succ(Succ(x115)))), Integer(Pos(Succ(Zero))))_>=_new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x115)))), Integer(Pos(Succ(Zero))))) *new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) *(new_gcd0Gcd'(Integer(Pos(Succ(Succ(x135)))), Integer(Neg(Succ(Zero))))_>=_new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x135)))), Integer(Neg(Succ(Zero))))) *new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) *(new_gcd0Gcd'(Integer(Neg(Succ(Succ(x155)))), Integer(Neg(Succ(Zero))))_>=_new_gcd0Gcd'1(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'1(new_esEs(Integer(Pos(new_primModNatS02(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(x518))))))), Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Succ(x518))), Succ(Zero), Succ(Succ(x518)))))), Integer(Neg(Succ(Succ(Succ(Succ(Succ(x518))))))), Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))))) *(new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(Succ(x499)))))), Integer(Pos(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS02(Succ(Zero), Succ(Succ(x499)), Zero, Succ(x499))))), Integer(Neg(Succ(Succ(Succ(Succ(x499)))))), Integer(Pos(Succ(Succ(Succ(Zero))))))) *(new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(Zero))))), Integer(Pos(Succ(Succ(Succ(Succ(x491)))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS02(Succ(Succ(x491)), Succ(Zero), Succ(x491), Zero)))), Integer(Neg(Succ(Succ(Succ(Zero))))), Integer(Pos(Succ(Succ(Succ(Succ(x491)))))))) *(new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))), Integer(Pos(Succ(Succ(Succ(Succ(Succ(x510))))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS02(Succ(Succ(Succ(x510))), Succ(Succ(Zero)), Succ(Succ(x510)), Succ(Zero))))), Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))), Integer(Pos(Succ(Succ(Succ(Succ(Succ(x510))))))))) *(new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(Succ(Succ(x513))))))), Integer(Pos(Succ(Succ(Succ(Succ(Succ(x514))))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS02(Succ(Succ(Succ(x514))), Succ(Succ(Succ(x513))), Succ(Succ(x514)), Succ(Succ(x513)))))), Integer(Neg(Succ(Succ(Succ(Succ(Succ(x513))))))), Integer(Pos(Succ(Succ(Succ(Succ(Succ(x514))))))))) *(new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))), Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS02(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(Zero))))), Integer(Pos(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS02(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(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(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'1(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'1(new_esEs(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'1(new_esEs(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(Succ(x541))))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(Succ(Succ(x541))), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(Succ(Succ(x541))))))))) *(new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(Succ(Zero)), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))))) *new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS02(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(x590))))))), Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Succ(x590))), Succ(Zero), Succ(Succ(x590)))))), Integer(Pos(Succ(Succ(Succ(Succ(Succ(x590))))))), Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))))) *(new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(Succ(x571)))))), Integer(Pos(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS02(Succ(Zero), Succ(Succ(x571)), Zero, Succ(x571))))), Integer(Pos(Succ(Succ(Succ(Succ(x571)))))), Integer(Pos(Succ(Succ(Succ(Zero))))))) *(new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(Zero))))), Integer(Pos(Succ(Succ(Succ(Succ(x563)))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS02(Succ(Succ(x563)), Succ(Zero), Succ(x563), Zero)))), Integer(Pos(Succ(Succ(Succ(Zero))))), Integer(Pos(Succ(Succ(Succ(Succ(x563)))))))) *(new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))), Integer(Pos(Succ(Succ(Succ(Succ(Succ(x582))))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS02(Succ(Succ(Succ(x582))), Succ(Succ(Zero)), Succ(Succ(x582)), Succ(Zero))))), Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))), Integer(Pos(Succ(Succ(Succ(Succ(Succ(x582))))))))) *(new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(Succ(Succ(x585))))))), Integer(Pos(Succ(Succ(Succ(Succ(Succ(x586))))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS02(Succ(Succ(Succ(x586))), Succ(Succ(Succ(x585))), Succ(Succ(x586)), Succ(Succ(x585)))))), Integer(Pos(Succ(Succ(Succ(Succ(Succ(x585))))))), Integer(Pos(Succ(Succ(Succ(Succ(Succ(x586))))))))) *(new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))), Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS02(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(Zero))))), Integer(Pos(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS02(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(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(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'1(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'1(new_esEs(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'1(new_esEs(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(Succ(x613))))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(Succ(Succ(x613))), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(Succ(Succ(x613))))))))) *(new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'1(new_esEs(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(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS02(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(x662))))))), Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Succ(x662))), Succ(Zero), Succ(Succ(x662)))))), Integer(Pos(Succ(Succ(Succ(Succ(Succ(x662))))))), Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))))) *(new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(Succ(x643)))))), Integer(Neg(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS02(Succ(Zero), Succ(Succ(x643)), Zero, Succ(x643))))), Integer(Pos(Succ(Succ(Succ(Succ(x643)))))), Integer(Neg(Succ(Succ(Succ(Zero))))))) *(new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(Zero))))), Integer(Neg(Succ(Succ(Succ(Succ(x635)))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS02(Succ(Succ(x635)), Succ(Zero), Succ(x635), Zero)))), Integer(Pos(Succ(Succ(Succ(Zero))))), Integer(Neg(Succ(Succ(Succ(Succ(x635)))))))) *(new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))), Integer(Neg(Succ(Succ(Succ(Succ(Succ(x654))))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS02(Succ(Succ(Succ(x654))), Succ(Succ(Zero)), Succ(Succ(x654)), Succ(Zero))))), Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))), Integer(Neg(Succ(Succ(Succ(Succ(Succ(x654))))))))) *(new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(Succ(Succ(x657))))))), Integer(Neg(Succ(Succ(Succ(Succ(Succ(x658))))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS02(Succ(Succ(Succ(x658))), Succ(Succ(Succ(x657))), Succ(Succ(x658)), Succ(Succ(x657)))))), Integer(Pos(Succ(Succ(Succ(Succ(Succ(x657))))))), Integer(Neg(Succ(Succ(Succ(Succ(Succ(x658))))))))) *(new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))), Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS02(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(Zero))))), Integer(Neg(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS02(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(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(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'1(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'1(new_esEs(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'1(new_esEs(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(Succ(x685))))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(Succ(Succ(x685))), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(Succ(Succ(x685))))))))) *(new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(Succ(Zero)), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))))) *new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS02(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(x734))))))), Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Succ(x734))), Succ(Zero), Succ(Succ(x734)))))), Integer(Neg(Succ(Succ(Succ(Succ(Succ(x734))))))), Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))))) *(new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(Succ(x715)))))), Integer(Neg(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS02(Succ(Zero), Succ(Succ(x715)), Zero, Succ(x715))))), Integer(Neg(Succ(Succ(Succ(Succ(x715)))))), Integer(Neg(Succ(Succ(Succ(Zero))))))) *(new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(Zero))))), Integer(Neg(Succ(Succ(Succ(Succ(x707)))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS02(Succ(Succ(x707)), Succ(Zero), Succ(x707), Zero)))), Integer(Neg(Succ(Succ(Succ(Zero))))), Integer(Neg(Succ(Succ(Succ(Succ(x707)))))))) *(new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))), Integer(Neg(Succ(Succ(Succ(Succ(Succ(x726))))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS02(Succ(Succ(Succ(x726))), Succ(Succ(Zero)), Succ(Succ(x726)), Succ(Zero))))), Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))), Integer(Neg(Succ(Succ(Succ(Succ(Succ(x726))))))))) *(new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(Succ(Succ(x729))))))), Integer(Neg(Succ(Succ(Succ(Succ(Succ(x730))))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS02(Succ(Succ(Succ(x730))), Succ(Succ(Succ(x729))), Succ(Succ(x730)), Succ(Succ(x729)))))), Integer(Neg(Succ(Succ(Succ(Succ(Succ(x729))))))), Integer(Neg(Succ(Succ(Succ(Succ(Succ(x730))))))))) *(new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))), Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS02(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(Zero))))), Integer(Neg(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS02(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(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(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'1(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'1(new_esEs(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'1(new_esEs(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(Succ(x757))))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(Succ(Succ(x757))), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(Succ(Succ(x757))))))))) *(new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(Succ(Zero)), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))))) The constraints for P_> respective P_bound are constructed from P__>=_ where we just replace every occurence of "t _>=_ s" in P__>=_ by "t > s" respective "t _>=_ c". Here c stands for the fresh constant used for P_bound. ---------------------------------------- (876) 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'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'1(False, vuz102, vuz104) -> new_gcd0Gcd'0(vuz102, new_rem(vuz104, vuz102)) new_gcd0Gcd'0(vuz102, vuz109) -> new_gcd0Gcd'(vuz109, vuz102) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(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'1(new_esEs(Integer(Pos(new_primModNatS02(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'1(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'1(new_esEs(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'1(new_esEs(Integer(Pos(new_primModNatS02(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'1(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'1(new_esEs(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'1(new_esEs(Integer(Neg(new_primModNatS02(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'1(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'1(new_esEs(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'1(new_esEs(Integer(Neg(new_primModNatS02(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'1(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'1(new_esEs(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_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primMinusNatS0(vuz32000) -> Succ(vuz32000) new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error new_primModNatS01(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error new_primModNatS1(Zero, vuz7400) -> Zero new_esEs(Integer(Pos(Succ(vuz106000)))) -> False new_rem(Integer(vuz1040), Integer(vuz1020)) -> Integer(new_primRemInt(vuz1040, vuz1020)) new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero new_error -> error([]) new_primModNatS02(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS02(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_esEs(Integer(Neg(Zero))) -> True new_primModNatS02(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_esEs(Integer(Pos(Zero))) -> True new_esEs(Integer(Neg(Succ(vuz106000)))) -> False new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error new_primModNatS02(vuz130, vuz131, Zero, Zero) -> new_primModNatS01(vuz130, vuz131) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS02(vuz75000, vuz74000, vuz75000, vuz74000) The set Q consists of the following terms: new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primMinusNatS1 new_esEs(Integer(Pos(Zero))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_esEs(Integer(Neg(Succ(x0)))) new_primMinusNatS2(Succ(x0), Zero) new_primMinusNatS2(Zero, Zero) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Integer(x0), Integer(x1)) new_primModNatS02(x0, x1, Zero, 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) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_esEs(Integer(Neg(Zero))) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_esEs(Integer(Pos(Succ(x0)))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (877) Obligation: Q DP problem: The TRS P consists of the following rules: new_primMulNat(Succ(vuz4100), Succ(vuz3100)) -> new_primMulNat(vuz4100, Succ(vuz3100)) R is empty. Q is empty. We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (878) 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(vuz4100), Succ(vuz3100)) -> new_primMulNat(vuz4100, Succ(vuz3100)) The graph contains the following edges 1 > 1, 2 >= 2 ---------------------------------------- (879) YES ---------------------------------------- (880) Obligation: Q DP problem: The TRS P consists of the following rules: new_primMinusNatS(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS(vuz970, vuz980) R is empty. Q is empty. We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (881) 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(vuz970), Succ(vuz980)) -> new_primMinusNatS(vuz970, vuz980) The graph contains the following edges 1 > 1, 2 > 2 ---------------------------------------- (882) YES ---------------------------------------- (883) Obligation: Q DP problem: The TRS P consists of the following rules: new_primPlusNat(Succ(vuz400), Succ(vuz300)) -> new_primPlusNat(vuz400, vuz300) R is empty. Q is empty. We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (884) 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(vuz400), Succ(vuz300)) -> new_primPlusNat(vuz400, vuz300) The graph contains the following edges 1 > 1, 2 > 2 ---------------------------------------- (885) YES ---------------------------------------- (886) Obligation: Q DP problem: The TRS P consists of the following rules: new_primMinusNat(Succ(vuz400), Succ(vuz300)) -> new_primMinusNat(vuz400, vuz300) R is empty. Q is empty. We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (887) 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(vuz400), Succ(vuz300)) -> new_primMinusNat(vuz400, vuz300) The graph contains the following edges 1 > 1, 2 > 2 ---------------------------------------- (888) YES ---------------------------------------- (889) Narrow (COMPLETE) Haskell To QDPs digraph dp_graph { node [outthreshold=100, inthreshold=100];1[label="subtract",fontsize=16,color="grey",shape="box"];1 -> 3[label="",style="dashed", color="grey", weight=3]; 3[label="subtract vuz3",fontsize=16,color="grey",shape="box"];3 -> 4[label="",style="dashed", color="grey", weight=3]; 4[label="subtract vuz3 vuz4",fontsize=16,color="black",shape="triangle"];4 -> 5[label="",style="solid", color="black", weight=3]; 5[label="flip (-) vuz3 vuz4",fontsize=16,color="black",shape="box"];5 -> 6[label="",style="solid", color="black", weight=3]; 6[label="(-) vuz4 vuz3",fontsize=16,color="blue",shape="box"];1411[label="- :: Double -> Double -> Double",fontsize=10,color="white",style="solid",shape="box"];6 -> 1411[label="",style="solid", color="blue", weight=9]; 1411 -> 7[label="",style="solid", color="blue", weight=3]; 1412[label="- :: (Ratio a) -> (Ratio a) -> Ratio a",fontsize=10,color="white",style="solid",shape="box"];6 -> 1412[label="",style="solid", color="blue", weight=9]; 1412 -> 8[label="",style="solid", color="blue", weight=3]; 1413[label="- :: Integer -> Integer -> Integer",fontsize=10,color="white",style="solid",shape="box"];6 -> 1413[label="",style="solid", color="blue", weight=9]; 1413 -> 9[label="",style="solid", color="blue", weight=3]; 1414[label="- :: Float -> Float -> Float",fontsize=10,color="white",style="solid",shape="box"];6 -> 1414[label="",style="solid", color="blue", weight=9]; 1414 -> 10[label="",style="solid", color="blue", weight=3]; 1415[label="- :: Int -> Int -> Int",fontsize=10,color="white",style="solid",shape="box"];6 -> 1415[label="",style="solid", color="blue", weight=9]; 1415 -> 11[label="",style="solid", color="blue", weight=3]; 7[label="(-) vuz4 vuz3",fontsize=16,color="black",shape="box"];7 -> 12[label="",style="solid", color="black", weight=3]; 8[label="(-) vuz4 vuz3",fontsize=16,color="black",shape="box"];8 -> 13[label="",style="solid", color="black", weight=3]; 9[label="(-) vuz4 vuz3",fontsize=16,color="burlywood",shape="box"];1416[label="vuz4/Integer vuz40",fontsize=10,color="white",style="solid",shape="box"];9 -> 1416[label="",style="solid", color="burlywood", weight=9]; 1416 -> 14[label="",style="solid", color="burlywood", weight=3]; 10[label="(-) vuz4 vuz3",fontsize=16,color="black",shape="box"];10 -> 15[label="",style="solid", color="black", weight=3]; 11[label="(-) vuz4 vuz3",fontsize=16,color="black",shape="triangle"];11 -> 16[label="",style="solid", color="black", weight=3]; 12[label="primMinusDouble vuz4 vuz3",fontsize=16,color="burlywood",shape="box"];1417[label="vuz4/Double vuz40 vuz41",fontsize=10,color="white",style="solid",shape="box"];12 -> 1417[label="",style="solid", color="burlywood", weight=9]; 1417 -> 17[label="",style="solid", color="burlywood", weight=3]; 13[label="vuz4 + (negate vuz3)",fontsize=16,color="burlywood",shape="box"];1418[label="vuz4/vuz40 :% vuz41",fontsize=10,color="white",style="solid",shape="box"];13 -> 1418[label="",style="solid", color="burlywood", weight=9]; 1418 -> 18[label="",style="solid", color="burlywood", weight=3]; 14[label="(-) Integer vuz40 vuz3",fontsize=16,color="burlywood",shape="box"];1419[label="vuz3/Integer vuz30",fontsize=10,color="white",style="solid",shape="box"];14 -> 1419[label="",style="solid", color="burlywood", weight=9]; 1419 -> 19[label="",style="solid", color="burlywood", weight=3]; 15[label="primMinusFloat vuz4 vuz3",fontsize=16,color="burlywood",shape="box"];1420[label="vuz4/Float vuz40 vuz41",fontsize=10,color="white",style="solid",shape="box"];15 -> 1420[label="",style="solid", color="burlywood", weight=9]; 1420 -> 20[label="",style="solid", color="burlywood", weight=3]; 16[label="primMinusInt vuz4 vuz3",fontsize=16,color="burlywood",shape="triangle"];1421[label="vuz4/Pos vuz40",fontsize=10,color="white",style="solid",shape="box"];16 -> 1421[label="",style="solid", color="burlywood", weight=9]; 1421 -> 21[label="",style="solid", color="burlywood", weight=3]; 1422[label="vuz4/Neg vuz40",fontsize=10,color="white",style="solid",shape="box"];16 -> 1422[label="",style="solid", color="burlywood", weight=9]; 1422 -> 22[label="",style="solid", color="burlywood", weight=3]; 17[label="primMinusDouble (Double vuz40 vuz41) vuz3",fontsize=16,color="burlywood",shape="box"];1423[label="vuz3/Double vuz30 vuz31",fontsize=10,color="white",style="solid",shape="box"];17 -> 1423[label="",style="solid", color="burlywood", weight=9]; 1423 -> 23[label="",style="solid", color="burlywood", weight=3]; 18[label="vuz40 :% vuz41 + (negate vuz3)",fontsize=16,color="burlywood",shape="box"];1424[label="vuz3/vuz30 :% vuz31",fontsize=10,color="white",style="solid",shape="box"];18 -> 1424[label="",style="solid", color="burlywood", weight=9]; 1424 -> 24[label="",style="solid", color="burlywood", weight=3]; 19[label="(-) Integer vuz40 Integer vuz30",fontsize=16,color="black",shape="box"];19 -> 25[label="",style="solid", color="black", weight=3]; 20[label="primMinusFloat (Float vuz40 vuz41) vuz3",fontsize=16,color="burlywood",shape="box"];1425[label="vuz3/Float vuz30 vuz31",fontsize=10,color="white",style="solid",shape="box"];20 -> 1425[label="",style="solid", color="burlywood", weight=9]; 1425 -> 26[label="",style="solid", color="burlywood", weight=3]; 21[label="primMinusInt (Pos vuz40) vuz3",fontsize=16,color="burlywood",shape="box"];1426[label="vuz3/Pos vuz30",fontsize=10,color="white",style="solid",shape="box"];21 -> 1426[label="",style="solid", color="burlywood", weight=9]; 1426 -> 27[label="",style="solid", color="burlywood", weight=3]; 1427[label="vuz3/Neg vuz30",fontsize=10,color="white",style="solid",shape="box"];21 -> 1427[label="",style="solid", color="burlywood", weight=9]; 1427 -> 28[label="",style="solid", color="burlywood", weight=3]; 22[label="primMinusInt (Neg vuz40) vuz3",fontsize=16,color="burlywood",shape="box"];1428[label="vuz3/Pos vuz30",fontsize=10,color="white",style="solid",shape="box"];22 -> 1428[label="",style="solid", color="burlywood", weight=9]; 1428 -> 29[label="",style="solid", color="burlywood", weight=3]; 1429[label="vuz3/Neg vuz30",fontsize=10,color="white",style="solid",shape="box"];22 -> 1429[label="",style="solid", color="burlywood", weight=9]; 1429 -> 30[label="",style="solid", color="burlywood", weight=3]; 23[label="primMinusDouble (Double vuz40 vuz41) (Double vuz30 vuz31)",fontsize=16,color="black",shape="box"];23 -> 31[label="",style="solid", color="black", weight=3]; 24[label="vuz40 :% vuz41 + (negate vuz30 :% vuz31)",fontsize=16,color="black",shape="box"];24 -> 32[label="",style="solid", color="black", weight=3]; 25[label="Integer (primMinusInt vuz40 vuz30)",fontsize=16,color="green",shape="box"];25 -> 33[label="",style="dashed", color="green", weight=3]; 26[label="primMinusFloat (Float vuz40 vuz41) (Float vuz30 vuz31)",fontsize=16,color="black",shape="box"];26 -> 34[label="",style="solid", color="black", weight=3]; 27[label="primMinusInt (Pos vuz40) (Pos vuz30)",fontsize=16,color="black",shape="box"];27 -> 35[label="",style="solid", color="black", weight=3]; 28[label="primMinusInt (Pos vuz40) (Neg vuz30)",fontsize=16,color="black",shape="box"];28 -> 36[label="",style="solid", color="black", weight=3]; 29[label="primMinusInt (Neg vuz40) (Pos vuz30)",fontsize=16,color="black",shape="box"];29 -> 37[label="",style="solid", color="black", weight=3]; 30[label="primMinusInt (Neg vuz40) (Neg vuz30)",fontsize=16,color="black",shape="box"];30 -> 38[label="",style="solid", color="black", weight=3]; 31[label="Double (vuz40 * vuz31 - vuz30 * vuz41) (vuz41 * vuz31)",fontsize=16,color="green",shape="box"];31 -> 39[label="",style="dashed", color="green", weight=3]; 31 -> 40[label="",style="dashed", color="green", weight=3]; 32 -> 41[label="",style="dashed", color="red", weight=0]; 32[label="vuz40 :% vuz41 + (negate vuz30) :% vuz31",fontsize=16,color="magenta"];32 -> 42[label="",style="dashed", color="magenta", weight=3]; 32 -> 43[label="",style="dashed", color="magenta", weight=3]; 32 -> 44[label="",style="dashed", color="magenta", weight=3]; 32 -> 45[label="",style="dashed", color="magenta", weight=3]; 33 -> 16[label="",style="dashed", color="red", weight=0]; 33[label="primMinusInt vuz40 vuz30",fontsize=16,color="magenta"];33 -> 46[label="",style="dashed", color="magenta", weight=3]; 33 -> 47[label="",style="dashed", color="magenta", weight=3]; 34[label="Float (vuz40 * vuz31 - vuz30 * vuz41) (vuz41 * vuz31)",fontsize=16,color="green",shape="box"];34 -> 48[label="",style="dashed", color="green", weight=3]; 34 -> 49[label="",style="dashed", color="green", weight=3]; 35[label="primMinusNat vuz40 vuz30",fontsize=16,color="burlywood",shape="triangle"];1430[label="vuz40/Succ vuz400",fontsize=10,color="white",style="solid",shape="box"];35 -> 1430[label="",style="solid", color="burlywood", weight=9]; 1430 -> 50[label="",style="solid", color="burlywood", weight=3]; 1431[label="vuz40/Zero",fontsize=10,color="white",style="solid",shape="box"];35 -> 1431[label="",style="solid", color="burlywood", weight=9]; 1431 -> 51[label="",style="solid", color="burlywood", weight=3]; 36[label="Pos (primPlusNat vuz40 vuz30)",fontsize=16,color="green",shape="box"];36 -> 52[label="",style="dashed", color="green", weight=3]; 37[label="Neg (primPlusNat vuz40 vuz30)",fontsize=16,color="green",shape="box"];37 -> 53[label="",style="dashed", color="green", weight=3]; 38 -> 35[label="",style="dashed", color="red", weight=0]; 38[label="primMinusNat vuz30 vuz40",fontsize=16,color="magenta"];38 -> 54[label="",style="dashed", color="magenta", weight=3]; 38 -> 55[label="",style="dashed", color="magenta", weight=3]; 39 -> 11[label="",style="dashed", color="red", weight=0]; 39[label="vuz40 * vuz31 - vuz30 * vuz41",fontsize=16,color="magenta"];39 -> 56[label="",style="dashed", color="magenta", weight=3]; 39 -> 57[label="",style="dashed", color="magenta", weight=3]; 40[label="vuz41 * vuz31",fontsize=16,color="black",shape="triangle"];40 -> 58[label="",style="solid", color="black", weight=3]; 42[label="vuz41",fontsize=16,color="green",shape="box"];43[label="vuz40",fontsize=16,color="green",shape="box"];44[label="negate vuz30",fontsize=16,color="blue",shape="box"];1432[label="negate :: Integer -> Integer",fontsize=10,color="white",style="solid",shape="box"];44 -> 1432[label="",style="solid", color="blue", weight=9]; 1432 -> 59[label="",style="solid", color="blue", weight=3]; 1433[label="negate :: Int -> Int",fontsize=10,color="white",style="solid",shape="box"];44 -> 1433[label="",style="solid", color="blue", weight=9]; 1433 -> 60[label="",style="solid", color="blue", weight=3]; 45[label="vuz31",fontsize=16,color="green",shape="box"];41[label="vuz10 :% vuz11 + vuz12 :% vuz13",fontsize=16,color="black",shape="triangle"];41 -> 61[label="",style="solid", color="black", weight=3]; 46[label="vuz30",fontsize=16,color="green",shape="box"];47[label="vuz40",fontsize=16,color="green",shape="box"];48 -> 11[label="",style="dashed", color="red", weight=0]; 48[label="vuz40 * vuz31 - vuz30 * vuz41",fontsize=16,color="magenta"];48 -> 62[label="",style="dashed", color="magenta", weight=3]; 48 -> 63[label="",style="dashed", color="magenta", weight=3]; 49 -> 40[label="",style="dashed", color="red", weight=0]; 49[label="vuz41 * vuz31",fontsize=16,color="magenta"];49 -> 64[label="",style="dashed", color="magenta", weight=3]; 49 -> 65[label="",style="dashed", color="magenta", weight=3]; 50[label="primMinusNat (Succ vuz400) vuz30",fontsize=16,color="burlywood",shape="box"];1434[label="vuz30/Succ vuz300",fontsize=10,color="white",style="solid",shape="box"];50 -> 1434[label="",style="solid", color="burlywood", weight=9]; 1434 -> 66[label="",style="solid", color="burlywood", weight=3]; 1435[label="vuz30/Zero",fontsize=10,color="white",style="solid",shape="box"];50 -> 1435[label="",style="solid", color="burlywood", weight=9]; 1435 -> 67[label="",style="solid", color="burlywood", weight=3]; 51[label="primMinusNat Zero vuz30",fontsize=16,color="burlywood",shape="box"];1436[label="vuz30/Succ vuz300",fontsize=10,color="white",style="solid",shape="box"];51 -> 1436[label="",style="solid", color="burlywood", weight=9]; 1436 -> 68[label="",style="solid", color="burlywood", weight=3]; 1437[label="vuz30/Zero",fontsize=10,color="white",style="solid",shape="box"];51 -> 1437[label="",style="solid", color="burlywood", weight=9]; 1437 -> 69[label="",style="solid", color="burlywood", weight=3]; 52[label="primPlusNat vuz40 vuz30",fontsize=16,color="burlywood",shape="triangle"];1438[label="vuz40/Succ vuz400",fontsize=10,color="white",style="solid",shape="box"];52 -> 1438[label="",style="solid", color="burlywood", weight=9]; 1438 -> 70[label="",style="solid", color="burlywood", weight=3]; 1439[label="vuz40/Zero",fontsize=10,color="white",style="solid",shape="box"];52 -> 1439[label="",style="solid", color="burlywood", weight=9]; 1439 -> 71[label="",style="solid", color="burlywood", weight=3]; 53 -> 52[label="",style="dashed", color="red", weight=0]; 53[label="primPlusNat vuz40 vuz30",fontsize=16,color="magenta"];53 -> 72[label="",style="dashed", color="magenta", weight=3]; 53 -> 73[label="",style="dashed", color="magenta", weight=3]; 54[label="vuz40",fontsize=16,color="green",shape="box"];55[label="vuz30",fontsize=16,color="green",shape="box"];56 -> 40[label="",style="dashed", color="red", weight=0]; 56[label="vuz30 * vuz41",fontsize=16,color="magenta"];56 -> 74[label="",style="dashed", color="magenta", weight=3]; 56 -> 75[label="",style="dashed", color="magenta", weight=3]; 57 -> 40[label="",style="dashed", color="red", weight=0]; 57[label="vuz40 * vuz31",fontsize=16,color="magenta"];57 -> 76[label="",style="dashed", color="magenta", weight=3]; 58[label="primMulInt vuz41 vuz31",fontsize=16,color="burlywood",shape="triangle"];1440[label="vuz41/Pos vuz410",fontsize=10,color="white",style="solid",shape="box"];58 -> 1440[label="",style="solid", color="burlywood", weight=9]; 1440 -> 77[label="",style="solid", color="burlywood", weight=3]; 1441[label="vuz41/Neg vuz410",fontsize=10,color="white",style="solid",shape="box"];58 -> 1441[label="",style="solid", color="burlywood", weight=9]; 1441 -> 78[label="",style="solid", color="burlywood", weight=3]; 59[label="negate vuz30",fontsize=16,color="burlywood",shape="triangle"];1442[label="vuz30/Integer vuz300",fontsize=10,color="white",style="solid",shape="box"];59 -> 1442[label="",style="solid", color="burlywood", weight=9]; 1442 -> 79[label="",style="solid", color="burlywood", weight=3]; 60[label="negate vuz30",fontsize=16,color="black",shape="triangle"];60 -> 80[label="",style="solid", color="black", weight=3]; 61[label="reduce (vuz10 * vuz13 + vuz12 * vuz11) (vuz11 * vuz13)",fontsize=16,color="black",shape="box"];61 -> 81[label="",style="solid", color="black", weight=3]; 62 -> 40[label="",style="dashed", color="red", weight=0]; 62[label="vuz30 * vuz41",fontsize=16,color="magenta"];62 -> 82[label="",style="dashed", color="magenta", weight=3]; 62 -> 83[label="",style="dashed", color="magenta", weight=3]; 63 -> 40[label="",style="dashed", color="red", weight=0]; 63[label="vuz40 * vuz31",fontsize=16,color="magenta"];63 -> 84[label="",style="dashed", color="magenta", weight=3]; 63 -> 85[label="",style="dashed", color="magenta", weight=3]; 64[label="vuz31",fontsize=16,color="green",shape="box"];65[label="vuz41",fontsize=16,color="green",shape="box"];66[label="primMinusNat (Succ vuz400) (Succ vuz300)",fontsize=16,color="black",shape="box"];66 -> 86[label="",style="solid", color="black", weight=3]; 67[label="primMinusNat (Succ vuz400) Zero",fontsize=16,color="black",shape="box"];67 -> 87[label="",style="solid", color="black", weight=3]; 68[label="primMinusNat Zero (Succ vuz300)",fontsize=16,color="black",shape="box"];68 -> 88[label="",style="solid", color="black", weight=3]; 69[label="primMinusNat Zero Zero",fontsize=16,color="black",shape="box"];69 -> 89[label="",style="solid", color="black", weight=3]; 70[label="primPlusNat (Succ vuz400) vuz30",fontsize=16,color="burlywood",shape="box"];1443[label="vuz30/Succ vuz300",fontsize=10,color="white",style="solid",shape="box"];70 -> 1443[label="",style="solid", color="burlywood", weight=9]; 1443 -> 90[label="",style="solid", color="burlywood", weight=3]; 1444[label="vuz30/Zero",fontsize=10,color="white",style="solid",shape="box"];70 -> 1444[label="",style="solid", color="burlywood", weight=9]; 1444 -> 91[label="",style="solid", color="burlywood", weight=3]; 71[label="primPlusNat Zero vuz30",fontsize=16,color="burlywood",shape="box"];1445[label="vuz30/Succ vuz300",fontsize=10,color="white",style="solid",shape="box"];71 -> 1445[label="",style="solid", color="burlywood", weight=9]; 1445 -> 92[label="",style="solid", color="burlywood", weight=3]; 1446[label="vuz30/Zero",fontsize=10,color="white",style="solid",shape="box"];71 -> 1446[label="",style="solid", color="burlywood", weight=9]; 1446 -> 93[label="",style="solid", color="burlywood", weight=3]; 72[label="vuz30",fontsize=16,color="green",shape="box"];73[label="vuz40",fontsize=16,color="green",shape="box"];74[label="vuz41",fontsize=16,color="green",shape="box"];75[label="vuz30",fontsize=16,color="green",shape="box"];76[label="vuz40",fontsize=16,color="green",shape="box"];77[label="primMulInt (Pos vuz410) vuz31",fontsize=16,color="burlywood",shape="box"];1447[label="vuz31/Pos vuz310",fontsize=10,color="white",style="solid",shape="box"];77 -> 1447[label="",style="solid", color="burlywood", weight=9]; 1447 -> 94[label="",style="solid", color="burlywood", weight=3]; 1448[label="vuz31/Neg vuz310",fontsize=10,color="white",style="solid",shape="box"];77 -> 1448[label="",style="solid", color="burlywood", weight=9]; 1448 -> 95[label="",style="solid", color="burlywood", weight=3]; 78[label="primMulInt (Neg vuz410) vuz31",fontsize=16,color="burlywood",shape="box"];1449[label="vuz31/Pos vuz310",fontsize=10,color="white",style="solid",shape="box"];78 -> 1449[label="",style="solid", color="burlywood", weight=9]; 1449 -> 96[label="",style="solid", color="burlywood", weight=3]; 1450[label="vuz31/Neg vuz310",fontsize=10,color="white",style="solid",shape="box"];78 -> 1450[label="",style="solid", color="burlywood", weight=9]; 1450 -> 97[label="",style="solid", color="burlywood", weight=3]; 79[label="negate Integer vuz300",fontsize=16,color="black",shape="box"];79 -> 98[label="",style="solid", color="black", weight=3]; 80[label="primNegInt vuz30",fontsize=16,color="burlywood",shape="triangle"];1451[label="vuz30/Pos vuz300",fontsize=10,color="white",style="solid",shape="box"];80 -> 1451[label="",style="solid", color="burlywood", weight=9]; 1451 -> 99[label="",style="solid", color="burlywood", weight=3]; 1452[label="vuz30/Neg vuz300",fontsize=10,color="white",style="solid",shape="box"];80 -> 1452[label="",style="solid", color="burlywood", weight=9]; 1452 -> 100[label="",style="solid", color="burlywood", weight=3]; 81[label="reduce2 (vuz10 * vuz13 + vuz12 * vuz11) (vuz11 * vuz13)",fontsize=16,color="black",shape="box"];81 -> 101[label="",style="solid", color="black", weight=3]; 82[label="vuz41",fontsize=16,color="green",shape="box"];83[label="vuz30",fontsize=16,color="green",shape="box"];84[label="vuz31",fontsize=16,color="green",shape="box"];85[label="vuz40",fontsize=16,color="green",shape="box"];86 -> 35[label="",style="dashed", color="red", weight=0]; 86[label="primMinusNat vuz400 vuz300",fontsize=16,color="magenta"];86 -> 102[label="",style="dashed", color="magenta", weight=3]; 86 -> 103[label="",style="dashed", color="magenta", weight=3]; 87[label="Pos (Succ vuz400)",fontsize=16,color="green",shape="box"];88[label="Neg (Succ vuz300)",fontsize=16,color="green",shape="box"];89[label="Pos Zero",fontsize=16,color="green",shape="box"];90[label="primPlusNat (Succ vuz400) (Succ vuz300)",fontsize=16,color="black",shape="box"];90 -> 104[label="",style="solid", color="black", weight=3]; 91[label="primPlusNat (Succ vuz400) Zero",fontsize=16,color="black",shape="box"];91 -> 105[label="",style="solid", color="black", weight=3]; 92[label="primPlusNat Zero (Succ vuz300)",fontsize=16,color="black",shape="box"];92 -> 106[label="",style="solid", color="black", weight=3]; 93[label="primPlusNat Zero Zero",fontsize=16,color="black",shape="box"];93 -> 107[label="",style="solid", color="black", weight=3]; 94[label="primMulInt (Pos vuz410) (Pos vuz310)",fontsize=16,color="black",shape="box"];94 -> 108[label="",style="solid", color="black", weight=3]; 95[label="primMulInt (Pos vuz410) (Neg vuz310)",fontsize=16,color="black",shape="box"];95 -> 109[label="",style="solid", color="black", weight=3]; 96[label="primMulInt (Neg vuz410) (Pos vuz310)",fontsize=16,color="black",shape="box"];96 -> 110[label="",style="solid", color="black", weight=3]; 97[label="primMulInt (Neg vuz410) (Neg vuz310)",fontsize=16,color="black",shape="box"];97 -> 111[label="",style="solid", color="black", weight=3]; 98[label="Integer (primNegInt vuz300)",fontsize=16,color="green",shape="box"];98 -> 112[label="",style="dashed", color="green", weight=3]; 99[label="primNegInt (Pos vuz300)",fontsize=16,color="black",shape="box"];99 -> 113[label="",style="solid", color="black", weight=3]; 100[label="primNegInt (Neg vuz300)",fontsize=16,color="black",shape="box"];100 -> 114[label="",style="solid", color="black", weight=3]; 101 -> 115[label="",style="dashed", color="red", weight=0]; 101[label="reduce2Reduce1 (vuz10 * vuz13 + vuz12 * vuz11) (vuz11 * vuz13) (vuz10 * vuz13 + vuz12 * vuz11) (vuz11 * vuz13) (vuz11 * vuz13 == fromInt (Pos Zero))",fontsize=16,color="magenta"];101 -> 116[label="",style="dashed", color="magenta", weight=3]; 101 -> 117[label="",style="dashed", color="magenta", weight=3]; 101 -> 118[label="",style="dashed", color="magenta", weight=3]; 101 -> 119[label="",style="dashed", color="magenta", weight=3]; 101 -> 120[label="",style="dashed", color="magenta", weight=3]; 102[label="vuz300",fontsize=16,color="green",shape="box"];103[label="vuz400",fontsize=16,color="green",shape="box"];104[label="Succ (Succ (primPlusNat vuz400 vuz300))",fontsize=16,color="green",shape="box"];104 -> 121[label="",style="dashed", color="green", weight=3]; 105[label="Succ vuz400",fontsize=16,color="green",shape="box"];106[label="Succ vuz300",fontsize=16,color="green",shape="box"];107[label="Zero",fontsize=16,color="green",shape="box"];108[label="Pos (primMulNat vuz410 vuz310)",fontsize=16,color="green",shape="box"];108 -> 122[label="",style="dashed", color="green", weight=3]; 109[label="Neg (primMulNat vuz410 vuz310)",fontsize=16,color="green",shape="box"];109 -> 123[label="",style="dashed", color="green", weight=3]; 110[label="Neg (primMulNat vuz410 vuz310)",fontsize=16,color="green",shape="box"];110 -> 124[label="",style="dashed", color="green", weight=3]; 111[label="Pos (primMulNat vuz410 vuz310)",fontsize=16,color="green",shape="box"];111 -> 125[label="",style="dashed", color="green", weight=3]; 112 -> 80[label="",style="dashed", color="red", weight=0]; 112[label="primNegInt vuz300",fontsize=16,color="magenta"];112 -> 126[label="",style="dashed", color="magenta", weight=3]; 113[label="Neg vuz300",fontsize=16,color="green",shape="box"];114[label="Pos vuz300",fontsize=16,color="green",shape="box"];116[label="vuz12",fontsize=16,color="green",shape="box"];117[label="vuz11 * vuz13 == fromInt (Pos Zero)",fontsize=16,color="blue",shape="box"];1453[label="== :: Int -> Int -> Bool",fontsize=10,color="white",style="solid",shape="box"];117 -> 1453[label="",style="solid", color="blue", weight=9]; 1453 -> 127[label="",style="solid", color="blue", weight=3]; 1454[label="== :: Integer -> Integer -> Bool",fontsize=10,color="white",style="solid",shape="box"];117 -> 1454[label="",style="solid", color="blue", weight=9]; 1454 -> 128[label="",style="solid", color="blue", weight=3]; 118[label="vuz13",fontsize=16,color="green",shape="box"];119[label="vuz10",fontsize=16,color="green",shape="box"];120[label="vuz11",fontsize=16,color="green",shape="box"];115[label="reduce2Reduce1 (vuz20 * vuz21 + vuz22 * vuz23) (vuz23 * vuz21) (vuz20 * vuz21 + vuz22 * vuz23) (vuz23 * vuz21) vuz24",fontsize=16,color="burlywood",shape="triangle"];1455[label="vuz24/False",fontsize=10,color="white",style="solid",shape="box"];115 -> 1455[label="",style="solid", color="burlywood", weight=9]; 1455 -> 129[label="",style="solid", color="burlywood", weight=3]; 1456[label="vuz24/True",fontsize=10,color="white",style="solid",shape="box"];115 -> 1456[label="",style="solid", color="burlywood", weight=9]; 1456 -> 130[label="",style="solid", color="burlywood", weight=3]; 121 -> 52[label="",style="dashed", color="red", weight=0]; 121[label="primPlusNat vuz400 vuz300",fontsize=16,color="magenta"];121 -> 131[label="",style="dashed", color="magenta", weight=3]; 121 -> 132[label="",style="dashed", color="magenta", weight=3]; 122[label="primMulNat vuz410 vuz310",fontsize=16,color="burlywood",shape="triangle"];1457[label="vuz410/Succ vuz4100",fontsize=10,color="white",style="solid",shape="box"];122 -> 1457[label="",style="solid", color="burlywood", weight=9]; 1457 -> 133[label="",style="solid", color="burlywood", weight=3]; 1458[label="vuz410/Zero",fontsize=10,color="white",style="solid",shape="box"];122 -> 1458[label="",style="solid", color="burlywood", weight=9]; 1458 -> 134[label="",style="solid", color="burlywood", weight=3]; 123 -> 122[label="",style="dashed", color="red", weight=0]; 123[label="primMulNat vuz410 vuz310",fontsize=16,color="magenta"];123 -> 135[label="",style="dashed", color="magenta", weight=3]; 124 -> 122[label="",style="dashed", color="red", weight=0]; 124[label="primMulNat vuz410 vuz310",fontsize=16,color="magenta"];124 -> 136[label="",style="dashed", color="magenta", weight=3]; 125 -> 122[label="",style="dashed", color="red", weight=0]; 125[label="primMulNat vuz410 vuz310",fontsize=16,color="magenta"];125 -> 137[label="",style="dashed", color="magenta", weight=3]; 125 -> 138[label="",style="dashed", color="magenta", weight=3]; 126[label="vuz300",fontsize=16,color="green",shape="box"];127 -> 139[label="",style="dashed", color="red", weight=0]; 127[label="vuz11 * vuz13 == fromInt (Pos Zero)",fontsize=16,color="magenta"];127 -> 140[label="",style="dashed", color="magenta", weight=3]; 128 -> 1060[label="",style="dashed", color="red", weight=0]; 128[label="vuz11 * vuz13 == fromInt (Pos Zero)",fontsize=16,color="magenta"];128 -> 1061[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 -> 142[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 -> 143[label="",style="solid", color="black", weight=3]; 131[label="vuz300",fontsize=16,color="green",shape="box"];132[label="vuz400",fontsize=16,color="green",shape="box"];133[label="primMulNat (Succ vuz4100) vuz310",fontsize=16,color="burlywood",shape="box"];1459[label="vuz310/Succ vuz3100",fontsize=10,color="white",style="solid",shape="box"];133 -> 1459[label="",style="solid", color="burlywood", weight=9]; 1459 -> 144[label="",style="solid", color="burlywood", weight=3]; 1460[label="vuz310/Zero",fontsize=10,color="white",style="solid",shape="box"];133 -> 1460[label="",style="solid", color="burlywood", weight=9]; 1460 -> 145[label="",style="solid", color="burlywood", weight=3]; 134[label="primMulNat Zero vuz310",fontsize=16,color="burlywood",shape="box"];1461[label="vuz310/Succ vuz3100",fontsize=10,color="white",style="solid",shape="box"];134 -> 1461[label="",style="solid", color="burlywood", weight=9]; 1461 -> 146[label="",style="solid", color="burlywood", weight=3]; 1462[label="vuz310/Zero",fontsize=10,color="white",style="solid",shape="box"];134 -> 1462[label="",style="solid", color="burlywood", weight=9]; 1462 -> 147[label="",style="solid", color="burlywood", weight=3]; 135[label="vuz310",fontsize=16,color="green",shape="box"];136[label="vuz410",fontsize=16,color="green",shape="box"];137[label="vuz310",fontsize=16,color="green",shape="box"];138[label="vuz410",fontsize=16,color="green",shape="box"];140 -> 40[label="",style="dashed", color="red", weight=0]; 140[label="vuz11 * vuz13",fontsize=16,color="magenta"];140 -> 148[label="",style="dashed", color="magenta", weight=3]; 140 -> 149[label="",style="dashed", color="magenta", weight=3]; 139[label="vuz25 == fromInt (Pos Zero)",fontsize=16,color="black",shape="triangle"];139 -> 150[label="",style="solid", color="black", weight=3]; 1061[label="vuz11 * vuz13",fontsize=16,color="burlywood",shape="triangle"];1463[label="vuz11/Integer vuz110",fontsize=10,color="white",style="solid",shape="box"];1061 -> 1463[label="",style="solid", color="burlywood", weight=9]; 1463 -> 1071[label="",style="solid", color="burlywood", weight=3]; 1060[label="vuz106 == fromInt (Pos Zero)",fontsize=16,color="burlywood",shape="triangle"];1464[label="vuz106/Integer vuz1060",fontsize=10,color="white",style="solid",shape="box"];1060 -> 1464[label="",style="solid", color="burlywood", weight=9]; 1464 -> 1072[label="",style="solid", color="burlywood", weight=3]; 142[label="reduce2Reduce0 (vuz20 * vuz21 + vuz22 * vuz23) (vuz23 * vuz21) (vuz20 * vuz21 + vuz22 * vuz23) (vuz23 * vuz21) otherwise",fontsize=16,color="black",shape="box"];142 -> 152[label="",style="solid", color="black", weight=3]; 143[label="error []",fontsize=16,color="black",shape="box"];143 -> 153[label="",style="solid", color="black", weight=3]; 144[label="primMulNat (Succ vuz4100) (Succ vuz3100)",fontsize=16,color="black",shape="box"];144 -> 154[label="",style="solid", color="black", weight=3]; 145[label="primMulNat (Succ vuz4100) Zero",fontsize=16,color="black",shape="box"];145 -> 155[label="",style="solid", color="black", weight=3]; 146[label="primMulNat Zero (Succ vuz3100)",fontsize=16,color="black",shape="box"];146 -> 156[label="",style="solid", color="black", weight=3]; 147[label="primMulNat Zero Zero",fontsize=16,color="black",shape="box"];147 -> 157[label="",style="solid", color="black", weight=3]; 148[label="vuz13",fontsize=16,color="green",shape="box"];149[label="vuz11",fontsize=16,color="green",shape="box"];150[label="primEqInt vuz25 (fromInt (Pos Zero))",fontsize=16,color="burlywood",shape="box"];1465[label="vuz25/Pos vuz250",fontsize=10,color="white",style="solid",shape="box"];150 -> 1465[label="",style="solid", color="burlywood", weight=9]; 1465 -> 158[label="",style="solid", color="burlywood", weight=3]; 1466[label="vuz25/Neg vuz250",fontsize=10,color="white",style="solid",shape="box"];150 -> 1466[label="",style="solid", color="burlywood", weight=9]; 1466 -> 159[label="",style="solid", color="burlywood", weight=3]; 1071[label="Integer vuz110 * vuz13",fontsize=16,color="burlywood",shape="box"];1467[label="vuz13/Integer vuz130",fontsize=10,color="white",style="solid",shape="box"];1071 -> 1467[label="",style="solid", color="burlywood", weight=9]; 1467 -> 1079[label="",style="solid", color="burlywood", weight=3]; 1072[label="Integer vuz1060 == fromInt (Pos Zero)",fontsize=16,color="black",shape="box"];1072 -> 1080[label="",style="solid", color="black", weight=3]; 152[label="reduce2Reduce0 (vuz20 * vuz21 + vuz22 * vuz23) (vuz23 * vuz21) (vuz20 * vuz21 + vuz22 * vuz23) (vuz23 * vuz21) True",fontsize=16,color="black",shape="box"];152 -> 161[label="",style="solid", color="black", weight=3]; 153[label="error []",fontsize=16,color="red",shape="box"];154 -> 52[label="",style="dashed", color="red", weight=0]; 154[label="primPlusNat (primMulNat vuz4100 (Succ vuz3100)) (Succ vuz3100)",fontsize=16,color="magenta"];154 -> 162[label="",style="dashed", color="magenta", weight=3]; 154 -> 163[label="",style="dashed", color="magenta", weight=3]; 155[label="Zero",fontsize=16,color="green",shape="box"];156[label="Zero",fontsize=16,color="green",shape="box"];157[label="Zero",fontsize=16,color="green",shape="box"];158[label="primEqInt (Pos vuz250) (fromInt (Pos Zero))",fontsize=16,color="burlywood",shape="box"];1468[label="vuz250/Succ vuz2500",fontsize=10,color="white",style="solid",shape="box"];158 -> 1468[label="",style="solid", color="burlywood", weight=9]; 1468 -> 164[label="",style="solid", color="burlywood", weight=3]; 1469[label="vuz250/Zero",fontsize=10,color="white",style="solid",shape="box"];158 -> 1469[label="",style="solid", color="burlywood", weight=9]; 1469 -> 165[label="",style="solid", color="burlywood", weight=3]; 159[label="primEqInt (Neg vuz250) (fromInt (Pos Zero))",fontsize=16,color="burlywood",shape="box"];1470[label="vuz250/Succ vuz2500",fontsize=10,color="white",style="solid",shape="box"];159 -> 1470[label="",style="solid", color="burlywood", weight=9]; 1470 -> 166[label="",style="solid", color="burlywood", weight=3]; 1471[label="vuz250/Zero",fontsize=10,color="white",style="solid",shape="box"];159 -> 1471[label="",style="solid", color="burlywood", weight=9]; 1471 -> 167[label="",style="solid", color="burlywood", weight=3]; 1079[label="Integer vuz110 * Integer vuz130",fontsize=16,color="black",shape="box"];1079 -> 1102[label="",style="solid", color="black", weight=3]; 1080[label="Integer vuz1060 == Integer (Pos Zero)",fontsize=16,color="black",shape="box"];1080 -> 1103[label="",style="solid", color="black", weight=3]; 161[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"];161 -> 170[label="",style="dashed", color="green", weight=3]; 161 -> 171[label="",style="dashed", color="green", weight=3]; 162[label="Succ vuz3100",fontsize=16,color="green",shape="box"];163 -> 122[label="",style="dashed", color="red", weight=0]; 163[label="primMulNat vuz4100 (Succ vuz3100)",fontsize=16,color="magenta"];163 -> 172[label="",style="dashed", color="magenta", weight=3]; 163 -> 173[label="",style="dashed", color="magenta", weight=3]; 164[label="primEqInt (Pos (Succ vuz2500)) (fromInt (Pos Zero))",fontsize=16,color="black",shape="box"];164 -> 174[label="",style="solid", color="black", weight=3]; 165[label="primEqInt (Pos Zero) (fromInt (Pos Zero))",fontsize=16,color="black",shape="box"];165 -> 175[label="",style="solid", color="black", weight=3]; 166[label="primEqInt (Neg (Succ vuz2500)) (fromInt (Pos Zero))",fontsize=16,color="black",shape="box"];166 -> 176[label="",style="solid", color="black", weight=3]; 167[label="primEqInt (Neg Zero) (fromInt (Pos Zero))",fontsize=16,color="black",shape="box"];167 -> 177[label="",style="solid", color="black", weight=3]; 1102[label="Integer (primMulInt vuz110 vuz130)",fontsize=16,color="green",shape="box"];1102 -> 1119[label="",style="dashed", color="green", weight=3]; 1103[label="primEqInt vuz1060 (Pos Zero)",fontsize=16,color="burlywood",shape="box"];1472[label="vuz1060/Pos vuz10600",fontsize=10,color="white",style="solid",shape="box"];1103 -> 1472[label="",style="solid", color="burlywood", weight=9]; 1472 -> 1120[label="",style="solid", color="burlywood", weight=3]; 1473[label="vuz1060/Neg vuz10600",fontsize=10,color="white",style="solid",shape="box"];1103 -> 1473[label="",style="solid", color="burlywood", weight=9]; 1473 -> 1121[label="",style="solid", color="burlywood", weight=3]; 170[label="(vuz20 * vuz21 + vuz22 * vuz23) `quot` reduce2D (vuz20 * vuz21 + vuz22 * vuz23) (vuz23 * vuz21)",fontsize=16,color="blue",shape="box"];1474[label="`quot` :: Int -> Int -> Int",fontsize=10,color="white",style="solid",shape="box"];170 -> 1474[label="",style="solid", color="blue", weight=9]; 1474 -> 181[label="",style="solid", color="blue", weight=3]; 1475[label="`quot` :: Integer -> Integer -> Integer",fontsize=10,color="white",style="solid",shape="box"];170 -> 1475[label="",style="solid", color="blue", weight=9]; 1475 -> 182[label="",style="solid", color="blue", weight=3]; 171[label="vuz23 * vuz21 `quot` reduce2D (vuz20 * vuz21 + vuz22 * vuz23) (vuz23 * vuz21)",fontsize=16,color="blue",shape="box"];1476[label="`quot` :: Int -> Int -> Int",fontsize=10,color="white",style="solid",shape="box"];171 -> 1476[label="",style="solid", color="blue", weight=9]; 1476 -> 183[label="",style="solid", color="blue", weight=3]; 1477[label="`quot` :: Integer -> Integer -> Integer",fontsize=10,color="white",style="solid",shape="box"];171 -> 1477[label="",style="solid", color="blue", weight=9]; 1477 -> 184[label="",style="solid", color="blue", weight=3]; 172[label="Succ vuz3100",fontsize=16,color="green",shape="box"];173[label="vuz4100",fontsize=16,color="green",shape="box"];174[label="primEqInt (Pos (Succ vuz2500)) (Pos Zero)",fontsize=16,color="black",shape="box"];174 -> 185[label="",style="solid", color="black", weight=3]; 175[label="primEqInt (Pos Zero) (Pos Zero)",fontsize=16,color="black",shape="box"];175 -> 186[label="",style="solid", color="black", weight=3]; 176[label="primEqInt (Neg (Succ vuz2500)) (Pos Zero)",fontsize=16,color="black",shape="box"];176 -> 187[label="",style="solid", color="black", weight=3]; 177[label="primEqInt (Neg Zero) (Pos Zero)",fontsize=16,color="black",shape="box"];177 -> 188[label="",style="solid", color="black", weight=3]; 1119 -> 58[label="",style="dashed", color="red", weight=0]; 1119[label="primMulInt vuz110 vuz130",fontsize=16,color="magenta"];1119 -> 1137[label="",style="dashed", color="magenta", weight=3]; 1119 -> 1138[label="",style="dashed", color="magenta", weight=3]; 1120[label="primEqInt (Pos vuz10600) (Pos Zero)",fontsize=16,color="burlywood",shape="box"];1478[label="vuz10600/Succ vuz106000",fontsize=10,color="white",style="solid",shape="box"];1120 -> 1478[label="",style="solid", color="burlywood", weight=9]; 1478 -> 1139[label="",style="solid", color="burlywood", weight=3]; 1479[label="vuz10600/Zero",fontsize=10,color="white",style="solid",shape="box"];1120 -> 1479[label="",style="solid", color="burlywood", weight=9]; 1479 -> 1140[label="",style="solid", color="burlywood", weight=3]; 1121[label="primEqInt (Neg vuz10600) (Pos Zero)",fontsize=16,color="burlywood",shape="box"];1480[label="vuz10600/Succ vuz106000",fontsize=10,color="white",style="solid",shape="box"];1121 -> 1480[label="",style="solid", color="burlywood", weight=9]; 1480 -> 1141[label="",style="solid", color="burlywood", weight=3]; 1481[label="vuz10600/Zero",fontsize=10,color="white",style="solid",shape="box"];1121 -> 1481[label="",style="solid", color="burlywood", weight=9]; 1481 -> 1142[label="",style="solid", color="burlywood", weight=3]; 181 -> 222[label="",style="dashed", color="red", weight=0]; 181[label="(vuz20 * vuz21 + vuz22 * vuz23) `quot` reduce2D (vuz20 * vuz21 + vuz22 * vuz23) (vuz23 * vuz21)",fontsize=16,color="magenta"];181 -> 223[label="",style="dashed", color="magenta", weight=3]; 181 -> 224[label="",style="dashed", color="magenta", weight=3]; 181 -> 225[label="",style="dashed", color="magenta", weight=3]; 182[label="(vuz20 * vuz21 + vuz22 * vuz23) `quot` reduce2D (vuz20 * vuz21 + vuz22 * vuz23) (vuz23 * vuz21)",fontsize=16,color="burlywood",shape="box"];1482[label="vuz20/Integer vuz200",fontsize=10,color="white",style="solid",shape="box"];182 -> 1482[label="",style="solid", color="burlywood", weight=9]; 1482 -> 196[label="",style="solid", color="burlywood", weight=3]; 183 -> 222[label="",style="dashed", color="red", weight=0]; 183[label="vuz23 * vuz21 `quot` reduce2D (vuz20 * vuz21 + vuz22 * vuz23) (vuz23 * vuz21)",fontsize=16,color="magenta"];183 -> 226[label="",style="dashed", color="magenta", weight=3]; 183 -> 227[label="",style="dashed", color="magenta", weight=3]; 183 -> 228[label="",style="dashed", color="magenta", weight=3]; 184[label="vuz23 * vuz21 `quot` reduce2D (vuz20 * vuz21 + vuz22 * vuz23) (vuz23 * vuz21)",fontsize=16,color="burlywood",shape="box"];1483[label="vuz23/Integer vuz230",fontsize=10,color="white",style="solid",shape="box"];184 -> 1483[label="",style="solid", color="burlywood", weight=9]; 1483 -> 210[label="",style="solid", color="burlywood", weight=3]; 185[label="False",fontsize=16,color="green",shape="box"];186[label="True",fontsize=16,color="green",shape="box"];187[label="False",fontsize=16,color="green",shape="box"];188[label="True",fontsize=16,color="green",shape="box"];1137[label="vuz130",fontsize=16,color="green",shape="box"];1138[label="vuz110",fontsize=16,color="green",shape="box"];1139[label="primEqInt (Pos (Succ vuz106000)) (Pos Zero)",fontsize=16,color="black",shape="box"];1139 -> 1153[label="",style="solid", color="black", weight=3]; 1140[label="primEqInt (Pos Zero) (Pos Zero)",fontsize=16,color="black",shape="box"];1140 -> 1154[label="",style="solid", color="black", weight=3]; 1141[label="primEqInt (Neg (Succ vuz106000)) (Pos Zero)",fontsize=16,color="black",shape="box"];1141 -> 1155[label="",style="solid", color="black", weight=3]; 1142[label="primEqInt (Neg Zero) (Pos Zero)",fontsize=16,color="black",shape="box"];1142 -> 1156[label="",style="solid", color="black", weight=3]; 223 -> 230[label="",style="dashed", color="red", weight=0]; 223[label="vuz20 * vuz21 + vuz22 * vuz23",fontsize=16,color="magenta"];223 -> 231[label="",style="dashed", color="magenta", weight=3]; 223 -> 232[label="",style="dashed", color="magenta", weight=3]; 224 -> 230[label="",style="dashed", color="red", weight=0]; 224[label="vuz20 * vuz21 + vuz22 * vuz23",fontsize=16,color="magenta"];224 -> 233[label="",style="dashed", color="magenta", weight=3]; 224 -> 234[label="",style="dashed", color="magenta", weight=3]; 225 -> 40[label="",style="dashed", color="red", weight=0]; 225[label="vuz23 * vuz21",fontsize=16,color="magenta"];225 -> 237[label="",style="dashed", color="magenta", weight=3]; 225 -> 238[label="",style="dashed", color="magenta", weight=3]; 222[label="vuz32 `quot` reduce2D vuz38 vuz33",fontsize=16,color="black",shape="triangle"];222 -> 239[label="",style="solid", color="black", weight=3]; 196[label="(Integer vuz200 * vuz21 + vuz22 * vuz23) `quot` reduce2D (Integer vuz200 * vuz21 + vuz22 * vuz23) (vuz23 * vuz21)",fontsize=16,color="burlywood",shape="box"];1484[label="vuz21/Integer vuz210",fontsize=10,color="white",style="solid",shape="box"];196 -> 1484[label="",style="solid", color="burlywood", weight=9]; 1484 -> 240[label="",style="solid", color="burlywood", weight=3]; 226 -> 230[label="",style="dashed", color="red", weight=0]; 226[label="vuz20 * vuz21 + vuz22 * vuz23",fontsize=16,color="magenta"];226 -> 235[label="",style="dashed", color="magenta", weight=3]; 226 -> 236[label="",style="dashed", color="magenta", weight=3]; 227 -> 40[label="",style="dashed", color="red", weight=0]; 227[label="vuz23 * vuz21",fontsize=16,color="magenta"];227 -> 241[label="",style="dashed", color="magenta", weight=3]; 227 -> 242[label="",style="dashed", color="magenta", weight=3]; 228 -> 40[label="",style="dashed", color="red", weight=0]; 228[label="vuz23 * vuz21",fontsize=16,color="magenta"];228 -> 243[label="",style="dashed", color="magenta", weight=3]; 228 -> 244[label="",style="dashed", color="magenta", weight=3]; 210[label="Integer vuz230 * vuz21 `quot` reduce2D (vuz20 * vuz21 + vuz22 * Integer vuz230) (Integer vuz230 * vuz21)",fontsize=16,color="burlywood",shape="box"];1485[label="vuz21/Integer vuz210",fontsize=10,color="white",style="solid",shape="box"];210 -> 1485[label="",style="solid", color="burlywood", weight=9]; 1485 -> 245[label="",style="solid", color="burlywood", weight=3]; 1153[label="False",fontsize=16,color="green",shape="box"];1154[label="True",fontsize=16,color="green",shape="box"];1155[label="False",fontsize=16,color="green",shape="box"];1156[label="True",fontsize=16,color="green",shape="box"];231 -> 40[label="",style="dashed", color="red", weight=0]; 231[label="vuz22 * vuz23",fontsize=16,color="magenta"];231 -> 250[label="",style="dashed", color="magenta", weight=3]; 231 -> 251[label="",style="dashed", color="magenta", weight=3]; 232 -> 40[label="",style="dashed", color="red", weight=0]; 232[label="vuz20 * vuz21",fontsize=16,color="magenta"];232 -> 252[label="",style="dashed", color="magenta", weight=3]; 232 -> 253[label="",style="dashed", color="magenta", weight=3]; 230[label="vuz40 + vuz39",fontsize=16,color="black",shape="triangle"];230 -> 254[label="",style="solid", color="black", weight=3]; 233 -> 40[label="",style="dashed", color="red", weight=0]; 233[label="vuz22 * vuz23",fontsize=16,color="magenta"];233 -> 255[label="",style="dashed", color="magenta", weight=3]; 233 -> 256[label="",style="dashed", color="magenta", weight=3]; 234 -> 40[label="",style="dashed", color="red", weight=0]; 234[label="vuz20 * vuz21",fontsize=16,color="magenta"];234 -> 257[label="",style="dashed", color="magenta", weight=3]; 234 -> 258[label="",style="dashed", color="magenta", weight=3]; 237[label="vuz21",fontsize=16,color="green",shape="box"];238[label="vuz23",fontsize=16,color="green",shape="box"];239[label="primQuotInt vuz32 (reduce2D vuz38 vuz33)",fontsize=16,color="burlywood",shape="box"];1486[label="vuz32/Pos vuz320",fontsize=10,color="white",style="solid",shape="box"];239 -> 1486[label="",style="solid", color="burlywood", weight=9]; 1486 -> 263[label="",style="solid", color="burlywood", weight=3]; 1487[label="vuz32/Neg vuz320",fontsize=10,color="white",style="solid",shape="box"];239 -> 1487[label="",style="solid", color="burlywood", weight=9]; 1487 -> 264[label="",style="solid", color="burlywood", weight=3]; 240[label="(Integer vuz200 * Integer vuz210 + vuz22 * vuz23) `quot` reduce2D (Integer vuz200 * Integer vuz210 + vuz22 * vuz23) (vuz23 * Integer vuz210)",fontsize=16,color="black",shape="box"];240 -> 265[label="",style="solid", color="black", weight=3]; 235 -> 40[label="",style="dashed", color="red", weight=0]; 235[label="vuz22 * vuz23",fontsize=16,color="magenta"];235 -> 259[label="",style="dashed", color="magenta", weight=3]; 235 -> 260[label="",style="dashed", color="magenta", weight=3]; 236 -> 40[label="",style="dashed", color="red", weight=0]; 236[label="vuz20 * vuz21",fontsize=16,color="magenta"];236 -> 261[label="",style="dashed", color="magenta", weight=3]; 236 -> 262[label="",style="dashed", color="magenta", weight=3]; 241[label="vuz21",fontsize=16,color="green",shape="box"];242[label="vuz23",fontsize=16,color="green",shape="box"];243[label="vuz21",fontsize=16,color="green",shape="box"];244[label="vuz23",fontsize=16,color="green",shape="box"];245[label="Integer vuz230 * Integer vuz210 `quot` reduce2D (vuz20 * Integer vuz210 + vuz22 * Integer vuz230) (Integer vuz230 * Integer vuz210)",fontsize=16,color="black",shape="box"];245 -> 266[label="",style="solid", color="black", weight=3]; 250[label="vuz23",fontsize=16,color="green",shape="box"];251[label="vuz22",fontsize=16,color="green",shape="box"];252[label="vuz21",fontsize=16,color="green",shape="box"];253[label="vuz20",fontsize=16,color="green",shape="box"];254[label="primPlusInt vuz40 vuz39",fontsize=16,color="burlywood",shape="triangle"];1488[label="vuz40/Pos vuz400",fontsize=10,color="white",style="solid",shape="box"];254 -> 1488[label="",style="solid", color="burlywood", weight=9]; 1488 -> 271[label="",style="solid", color="burlywood", weight=3]; 1489[label="vuz40/Neg vuz400",fontsize=10,color="white",style="solid",shape="box"];254 -> 1489[label="",style="solid", color="burlywood", weight=9]; 1489 -> 272[label="",style="solid", color="burlywood", weight=3]; 255[label="vuz23",fontsize=16,color="green",shape="box"];256[label="vuz22",fontsize=16,color="green",shape="box"];257[label="vuz21",fontsize=16,color="green",shape="box"];258[label="vuz20",fontsize=16,color="green",shape="box"];263[label="primQuotInt (Pos vuz320) (reduce2D vuz38 vuz33)",fontsize=16,color="black",shape="box"];263 -> 273[label="",style="solid", color="black", weight=3]; 264[label="primQuotInt (Neg vuz320) (reduce2D vuz38 vuz33)",fontsize=16,color="black",shape="box"];264 -> 274[label="",style="solid", color="black", weight=3]; 265 -> 275[label="",style="dashed", color="red", weight=0]; 265[label="(Integer (primMulInt vuz200 vuz210) + vuz22 * vuz23) `quot` reduce2D (Integer (primMulInt vuz200 vuz210) + vuz22 * vuz23) (vuz23 * Integer vuz210)",fontsize=16,color="magenta"];265 -> 276[label="",style="dashed", color="magenta", weight=3]; 265 -> 277[label="",style="dashed", color="magenta", weight=3]; 259[label="vuz23",fontsize=16,color="green",shape="box"];260[label="vuz22",fontsize=16,color="green",shape="box"];261[label="vuz21",fontsize=16,color="green",shape="box"];262[label="vuz20",fontsize=16,color="green",shape="box"];266 -> 278[label="",style="dashed", color="red", weight=0]; 266[label="Integer (primMulInt vuz230 vuz210) `quot` reduce2D (vuz20 * Integer vuz210 + vuz22 * Integer vuz230) (Integer (primMulInt vuz230 vuz210))",fontsize=16,color="magenta"];266 -> 279[label="",style="dashed", color="magenta", weight=3]; 266 -> 280[label="",style="dashed", color="magenta", weight=3]; 271[label="primPlusInt (Pos vuz400) vuz39",fontsize=16,color="burlywood",shape="box"];1490[label="vuz39/Pos vuz390",fontsize=10,color="white",style="solid",shape="box"];271 -> 1490[label="",style="solid", color="burlywood", weight=9]; 1490 -> 281[label="",style="solid", color="burlywood", weight=3]; 1491[label="vuz39/Neg vuz390",fontsize=10,color="white",style="solid",shape="box"];271 -> 1491[label="",style="solid", color="burlywood", weight=9]; 1491 -> 282[label="",style="solid", color="burlywood", weight=3]; 272[label="primPlusInt (Neg vuz400) vuz39",fontsize=16,color="burlywood",shape="box"];1492[label="vuz39/Pos vuz390",fontsize=10,color="white",style="solid",shape="box"];272 -> 1492[label="",style="solid", color="burlywood", weight=9]; 1492 -> 283[label="",style="solid", color="burlywood", weight=3]; 1493[label="vuz39/Neg vuz390",fontsize=10,color="white",style="solid",shape="box"];272 -> 1493[label="",style="solid", color="burlywood", weight=9]; 1493 -> 284[label="",style="solid", color="burlywood", weight=3]; 273 -> 417[label="",style="dashed", color="red", weight=0]; 273[label="primQuotInt (Pos vuz320) (gcd vuz38 vuz33)",fontsize=16,color="magenta"];273 -> 418[label="",style="dashed", color="magenta", weight=3]; 274 -> 445[label="",style="dashed", color="red", weight=0]; 274[label="primQuotInt (Neg vuz320) (gcd vuz38 vuz33)",fontsize=16,color="magenta"];274 -> 446[label="",style="dashed", color="magenta", weight=3]; 276 -> 58[label="",style="dashed", color="red", weight=0]; 276[label="primMulInt vuz200 vuz210",fontsize=16,color="magenta"];276 -> 287[label="",style="dashed", color="magenta", weight=3]; 276 -> 288[label="",style="dashed", color="magenta", weight=3]; 277 -> 58[label="",style="dashed", color="red", weight=0]; 277[label="primMulInt vuz200 vuz210",fontsize=16,color="magenta"];277 -> 289[label="",style="dashed", color="magenta", weight=3]; 277 -> 290[label="",style="dashed", color="magenta", weight=3]; 275[label="(Integer vuz41 + vuz22 * vuz23) `quot` reduce2D (Integer vuz42 + vuz22 * vuz23) (vuz23 * Integer vuz210)",fontsize=16,color="burlywood",shape="triangle"];1494[label="vuz22/Integer vuz220",fontsize=10,color="white",style="solid",shape="box"];275 -> 1494[label="",style="solid", color="burlywood", weight=9]; 1494 -> 291[label="",style="solid", color="burlywood", weight=3]; 279 -> 58[label="",style="dashed", color="red", weight=0]; 279[label="primMulInt vuz230 vuz210",fontsize=16,color="magenta"];279 -> 292[label="",style="dashed", color="magenta", weight=3]; 279 -> 293[label="",style="dashed", color="magenta", weight=3]; 280 -> 58[label="",style="dashed", color="red", weight=0]; 280[label="primMulInt vuz230 vuz210",fontsize=16,color="magenta"];280 -> 294[label="",style="dashed", color="magenta", weight=3]; 280 -> 295[label="",style="dashed", color="magenta", weight=3]; 278[label="Integer vuz43 `quot` reduce2D (vuz20 * Integer vuz210 + vuz22 * Integer vuz230) (Integer vuz44)",fontsize=16,color="black",shape="triangle"];278 -> 296[label="",style="solid", color="black", weight=3]; 281[label="primPlusInt (Pos vuz400) (Pos vuz390)",fontsize=16,color="black",shape="box"];281 -> 297[label="",style="solid", color="black", weight=3]; 282[label="primPlusInt (Pos vuz400) (Neg vuz390)",fontsize=16,color="black",shape="box"];282 -> 298[label="",style="solid", color="black", weight=3]; 283[label="primPlusInt (Neg vuz400) (Pos vuz390)",fontsize=16,color="black",shape="box"];283 -> 299[label="",style="solid", color="black", weight=3]; 284[label="primPlusInt (Neg vuz400) (Neg vuz390)",fontsize=16,color="black",shape="box"];284 -> 300[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"];1495[label="vuz65/Pos vuz650",fontsize=10,color="white",style="solid",shape="box"];417 -> 1495[label="",style="solid", color="burlywood", weight=9]; 1495 -> 435[label="",style="solid", color="burlywood", weight=3]; 1496[label="vuz65/Neg vuz650",fontsize=10,color="white",style="solid",shape="box"];417 -> 1496[label="",style="solid", color="burlywood", weight=9]; 1496 -> 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"];1497[label="vuz68/Pos vuz680",fontsize=10,color="white",style="solid",shape="box"];445 -> 1497[label="",style="solid", color="burlywood", weight=9]; 1497 -> 462[label="",style="solid", color="burlywood", weight=3]; 1498[label="vuz68/Neg vuz680",fontsize=10,color="white",style="solid",shape="box"];445 -> 1498[label="",style="solid", color="burlywood", weight=9]; 1498 -> 463[label="",style="solid", color="burlywood", weight=3]; 287[label="vuz210",fontsize=16,color="green",shape="box"];288[label="vuz200",fontsize=16,color="green",shape="box"];289[label="vuz210",fontsize=16,color="green",shape="box"];290[label="vuz200",fontsize=16,color="green",shape="box"];291[label="(Integer vuz41 + Integer vuz220 * vuz23) `quot` reduce2D (Integer vuz42 + Integer vuz220 * vuz23) (vuz23 * Integer vuz210)",fontsize=16,color="burlywood",shape="box"];1499[label="vuz23/Integer vuz230",fontsize=10,color="white",style="solid",shape="box"];291 -> 1499[label="",style="solid", color="burlywood", weight=9]; 1499 -> 303[label="",style="solid", color="burlywood", weight=3]; 292[label="vuz210",fontsize=16,color="green",shape="box"];293[label="vuz230",fontsize=16,color="green",shape="box"];294[label="vuz210",fontsize=16,color="green",shape="box"];295[label="vuz230",fontsize=16,color="green",shape="box"];296[label="Integer vuz43 `quot` gcd (vuz20 * Integer vuz210 + vuz22 * Integer vuz230) (Integer vuz44)",fontsize=16,color="black",shape="box"];296 -> 304[label="",style="solid", color="black", weight=3]; 297[label="Pos (primPlusNat vuz400 vuz390)",fontsize=16,color="green",shape="box"];297 -> 305[label="",style="dashed", color="green", weight=3]; 298 -> 35[label="",style="dashed", color="red", weight=0]; 298[label="primMinusNat vuz400 vuz390",fontsize=16,color="magenta"];298 -> 306[label="",style="dashed", color="magenta", weight=3]; 298 -> 307[label="",style="dashed", color="magenta", weight=3]; 299 -> 35[label="",style="dashed", color="red", weight=0]; 299[label="primMinusNat vuz390 vuz400",fontsize=16,color="magenta"];299 -> 308[label="",style="dashed", color="magenta", weight=3]; 299 -> 309[label="",style="dashed", color="magenta", weight=3]; 300[label="Neg (primPlusNat vuz400 vuz390)",fontsize=16,color="green",shape="box"];300 -> 310[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"];1500[label="vuz650/Succ vuz6500",fontsize=10,color="white",style="solid",shape="box"];435 -> 1500[label="",style="solid", color="burlywood", weight=9]; 1500 -> 441[label="",style="solid", color="burlywood", weight=3]; 1501[label="vuz650/Zero",fontsize=10,color="white",style="solid",shape="box"];435 -> 1501[label="",style="solid", color="burlywood", weight=9]; 1501 -> 442[label="",style="solid", color="burlywood", weight=3]; 436[label="primQuotInt (Pos vuz320) (Neg vuz650)",fontsize=16,color="burlywood",shape="box"];1502[label="vuz650/Succ vuz6500",fontsize=10,color="white",style="solid",shape="box"];436 -> 1502[label="",style="solid", color="burlywood", weight=9]; 1502 -> 443[label="",style="solid", color="burlywood", weight=3]; 1503[label="vuz650/Zero",fontsize=10,color="white",style="solid",shape="box"];436 -> 1503[label="",style="solid", color="burlywood", weight=9]; 1503 -> 444[label="",style="solid", color="burlywood", weight=3]; 462[label="primQuotInt (Neg vuz320) (Pos vuz680)",fontsize=16,color="burlywood",shape="box"];1504[label="vuz680/Succ vuz6800",fontsize=10,color="white",style="solid",shape="box"];462 -> 1504[label="",style="solid", color="burlywood", weight=9]; 1504 -> 466[label="",style="solid", color="burlywood", weight=3]; 1505[label="vuz680/Zero",fontsize=10,color="white",style="solid",shape="box"];462 -> 1505[label="",style="solid", color="burlywood", weight=9]; 1505 -> 467[label="",style="solid", color="burlywood", weight=3]; 463[label="primQuotInt (Neg vuz320) (Neg vuz680)",fontsize=16,color="burlywood",shape="box"];1506[label="vuz680/Succ vuz6800",fontsize=10,color="white",style="solid",shape="box"];463 -> 1506[label="",style="solid", color="burlywood", weight=9]; 1506 -> 468[label="",style="solid", color="burlywood", weight=3]; 1507[label="vuz680/Zero",fontsize=10,color="white",style="solid",shape="box"];463 -> 1507[label="",style="solid", color="burlywood", weight=9]; 1507 -> 469[label="",style="solid", color="burlywood", weight=3]; 303[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"];303 -> 315[label="",style="solid", color="black", weight=3]; 304[label="Integer vuz43 `quot` gcd3 (vuz20 * Integer vuz210 + vuz22 * Integer vuz230) (Integer vuz44)",fontsize=16,color="black",shape="box"];304 -> 316[label="",style="solid", color="black", weight=3]; 305 -> 52[label="",style="dashed", color="red", weight=0]; 305[label="primPlusNat vuz400 vuz390",fontsize=16,color="magenta"];305 -> 317[label="",style="dashed", color="magenta", weight=3]; 305 -> 318[label="",style="dashed", color="magenta", weight=3]; 306[label="vuz390",fontsize=16,color="green",shape="box"];307[label="vuz400",fontsize=16,color="green",shape="box"];308[label="vuz400",fontsize=16,color="green",shape="box"];309[label="vuz390",fontsize=16,color="green",shape="box"];310 -> 52[label="",style="dashed", color="red", weight=0]; 310[label="primPlusNat vuz400 vuz390",fontsize=16,color="magenta"];310 -> 319[label="",style="dashed", color="magenta", weight=3]; 310 -> 320[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 -> 484[label="",style="solid", color="black", weight=3]; 467[label="primQuotInt (Neg vuz320) (Pos Zero)",fontsize=16,color="black",shape="box"];467 -> 485[label="",style="solid", color="black", weight=3]; 468[label="primQuotInt (Neg vuz320) (Neg (Succ vuz6800))",fontsize=16,color="black",shape="box"];468 -> 486[label="",style="solid", color="black", weight=3]; 469[label="primQuotInt (Neg vuz320) (Neg Zero)",fontsize=16,color="black",shape="box"];469 -> 487[label="",style="solid", color="black", weight=3]; 315 -> 327[label="",style="dashed", color="red", weight=0]; 315[label="(Integer vuz41 + Integer (primMulInt vuz220 vuz230)) `quot` reduce2D (Integer vuz42 + Integer (primMulInt vuz220 vuz230)) (Integer vuz230 * Integer vuz210)",fontsize=16,color="magenta"];315 -> 328[label="",style="dashed", color="magenta", weight=3]; 315 -> 329[label="",style="dashed", color="magenta", weight=3]; 316[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"];1508[label="vuz20/Integer vuz200",fontsize=10,color="white",style="solid",shape="box"];316 -> 1508[label="",style="solid", color="burlywood", weight=9]; 1508 -> 330[label="",style="solid", color="burlywood", weight=3]; 317[label="vuz390",fontsize=16,color="green",shape="box"];318[label="vuz400",fontsize=16,color="green",shape="box"];319[label="vuz390",fontsize=16,color="green",shape="box"];320[label="vuz400",fontsize=16,color="green",shape="box"];465 -> 139[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"];1509[label="vuz69/False",fontsize=10,color="white",style="solid",shape="box"];464 -> 1509[label="",style="solid", color="burlywood", weight=9]; 1509 -> 475[label="",style="solid", color="burlywood", weight=3]; 1510[label="vuz69/True",fontsize=10,color="white",style="solid",shape="box"];464 -> 1510[label="",style="solid", color="burlywood", weight=9]; 1510 -> 476[label="",style="solid", color="burlywood", weight=3]; 470[label="Pos (primDivNatS vuz320 (Succ vuz6500))",fontsize=16,color="green",shape="box"];470 -> 488[label="",style="dashed", color="green", weight=3]; 471[label="error []",fontsize=16,color="black",shape="triangle"];471 -> 489[label="",style="solid", color="black", weight=3]; 472[label="Neg (primDivNatS vuz320 (Succ vuz6500))",fontsize=16,color="green",shape="box"];472 -> 490[label="",style="dashed", color="green", weight=3]; 473 -> 471[label="",style="dashed", color="red", weight=0]; 473[label="error []",fontsize=16,color="magenta"];484[label="Neg (primDivNatS vuz320 (Succ vuz6800))",fontsize=16,color="green",shape="box"];484 -> 496[label="",style="dashed", color="green", weight=3]; 485 -> 471[label="",style="dashed", color="red", weight=0]; 485[label="error []",fontsize=16,color="magenta"];486[label="Pos (primDivNatS vuz320 (Succ vuz6800))",fontsize=16,color="green",shape="box"];486 -> 497[label="",style="dashed", color="green", weight=3]; 487 -> 471[label="",style="dashed", color="red", weight=0]; 487[label="error []",fontsize=16,color="magenta"];328 -> 58[label="",style="dashed", color="red", weight=0]; 328[label="primMulInt vuz220 vuz230",fontsize=16,color="magenta"];328 -> 335[label="",style="dashed", color="magenta", weight=3]; 328 -> 336[label="",style="dashed", color="magenta", weight=3]; 329 -> 58[label="",style="dashed", color="red", weight=0]; 329[label="primMulInt vuz220 vuz230",fontsize=16,color="magenta"];329 -> 337[label="",style="dashed", color="magenta", weight=3]; 329 -> 338[label="",style="dashed", color="magenta", weight=3]; 327[label="(Integer vuz41 + Integer vuz47) `quot` reduce2D (Integer vuz42 + Integer vuz48) (Integer vuz230 * Integer vuz210)",fontsize=16,color="black",shape="triangle"];327 -> 339[label="",style="solid", color="black", weight=3]; 330[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"];330 -> 340[label="",style="solid", color="black", weight=3]; 474[label="vuz38",fontsize=16,color="green",shape="box"];475[label="gcd2 False vuz38 vuz33",fontsize=16,color="black",shape="box"];475 -> 491[label="",style="solid", color="black", weight=3]; 476[label="gcd2 True vuz38 vuz33",fontsize=16,color="black",shape="box"];476 -> 492[label="",style="solid", color="black", weight=3]; 488[label="primDivNatS vuz320 (Succ vuz6500)",fontsize=16,color="burlywood",shape="triangle"];1511[label="vuz320/Succ vuz3200",fontsize=10,color="white",style="solid",shape="box"];488 -> 1511[label="",style="solid", color="burlywood", weight=9]; 1511 -> 498[label="",style="solid", color="burlywood", weight=3]; 1512[label="vuz320/Zero",fontsize=10,color="white",style="solid",shape="box"];488 -> 1512[label="",style="solid", color="burlywood", weight=9]; 1512 -> 499[label="",style="solid", color="burlywood", weight=3]; 489[label="error []",fontsize=16,color="red",shape="box"];490 -> 488[label="",style="dashed", color="red", weight=0]; 490[label="primDivNatS vuz320 (Succ vuz6500)",fontsize=16,color="magenta"];490 -> 500[label="",style="dashed", color="magenta", weight=3]; 496 -> 488[label="",style="dashed", color="red", weight=0]; 496[label="primDivNatS vuz320 (Succ vuz6800)",fontsize=16,color="magenta"];496 -> 504[label="",style="dashed", color="magenta", weight=3]; 496 -> 505[label="",style="dashed", color="magenta", weight=3]; 497 -> 488[label="",style="dashed", color="red", weight=0]; 497[label="primDivNatS vuz320 (Succ vuz6800)",fontsize=16,color="magenta"];497 -> 506[label="",style="dashed", color="magenta", weight=3]; 497 -> 507[label="",style="dashed", color="magenta", weight=3]; 335[label="vuz230",fontsize=16,color="green",shape="box"];336[label="vuz220",fontsize=16,color="green",shape="box"];337[label="vuz230",fontsize=16,color="green",shape="box"];338[label="vuz220",fontsize=16,color="green",shape="box"];339 -> 347[label="",style="dashed", color="red", weight=0]; 339[label="Integer (primPlusInt vuz41 vuz47) `quot` reduce2D (Integer (primPlusInt vuz41 vuz47)) (Integer vuz230 * Integer vuz210)",fontsize=16,color="magenta"];339 -> 348[label="",style="dashed", color="magenta", weight=3]; 339 -> 349[label="",style="dashed", color="magenta", weight=3]; 340 -> 350[label="",style="dashed", color="red", weight=0]; 340[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"];340 -> 351[label="",style="dashed", color="magenta", weight=3]; 340 -> 352[label="",style="dashed", color="magenta", weight=3]; 491[label="gcd0 vuz38 vuz33",fontsize=16,color="black",shape="triangle"];491 -> 501[label="",style="solid", color="black", weight=3]; 492 -> 502[label="",style="dashed", color="red", weight=0]; 492[label="gcd1 (vuz33 == fromInt (Pos Zero)) vuz38 vuz33",fontsize=16,color="magenta"];492 -> 503[label="",style="dashed", color="magenta", weight=3]; 498[label="primDivNatS (Succ vuz3200) (Succ vuz6500)",fontsize=16,color="black",shape="box"];498 -> 508[label="",style="solid", color="black", weight=3]; 499[label="primDivNatS Zero (Succ vuz6500)",fontsize=16,color="black",shape="box"];499 -> 509[label="",style="solid", color="black", weight=3]; 500[label="vuz6500",fontsize=16,color="green",shape="box"];504[label="vuz320",fontsize=16,color="green",shape="box"];505[label="vuz6800",fontsize=16,color="green",shape="box"];506[label="vuz320",fontsize=16,color="green",shape="box"];507[label="vuz6800",fontsize=16,color="green",shape="box"];348 -> 254[label="",style="dashed", color="red", weight=0]; 348[label="primPlusInt vuz41 vuz47",fontsize=16,color="magenta"];348 -> 361[label="",style="dashed", color="magenta", weight=3]; 348 -> 362[label="",style="dashed", color="magenta", weight=3]; 349 -> 254[label="",style="dashed", color="red", weight=0]; 349[label="primPlusInt vuz41 vuz47",fontsize=16,color="magenta"];349 -> 363[label="",style="dashed", color="magenta", weight=3]; 349 -> 364[label="",style="dashed", color="magenta", weight=3]; 347[label="Integer vuz51 `quot` reduce2D (Integer vuz52) (Integer vuz230 * Integer vuz210)",fontsize=16,color="black",shape="triangle"];347 -> 365[label="",style="solid", color="black", weight=3]; 351 -> 58[label="",style="dashed", color="red", weight=0]; 351[label="primMulInt vuz200 vuz210",fontsize=16,color="magenta"];351 -> 366[label="",style="dashed", color="magenta", weight=3]; 351 -> 367[label="",style="dashed", color="magenta", weight=3]; 352 -> 58[label="",style="dashed", color="red", weight=0]; 352[label="primMulInt vuz200 vuz210",fontsize=16,color="magenta"];352 -> 368[label="",style="dashed", color="magenta", weight=3]; 352 -> 369[label="",style="dashed", color="magenta", weight=3]; 350[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"];1513[label="vuz22/Integer vuz220",fontsize=10,color="white",style="solid",shape="box"];350 -> 1513[label="",style="solid", color="burlywood", weight=9]; 1513 -> 370[label="",style="solid", color="burlywood", weight=3]; 501[label="gcd0Gcd' (abs vuz38) (abs vuz33)",fontsize=16,color="black",shape="box"];501 -> 510[label="",style="solid", color="black", weight=3]; 503 -> 139[label="",style="dashed", color="red", weight=0]; 503[label="vuz33 == fromInt (Pos Zero)",fontsize=16,color="magenta"];503 -> 511[label="",style="dashed", color="magenta", weight=3]; 502[label="gcd1 vuz71 vuz38 vuz33",fontsize=16,color="burlywood",shape="triangle"];1514[label="vuz71/False",fontsize=10,color="white",style="solid",shape="box"];502 -> 1514[label="",style="solid", color="burlywood", weight=9]; 1514 -> 512[label="",style="solid", color="burlywood", weight=3]; 1515[label="vuz71/True",fontsize=10,color="white",style="solid",shape="box"];502 -> 1515[label="",style="solid", color="burlywood", weight=9]; 1515 -> 513[label="",style="solid", color="burlywood", weight=3]; 508[label="primDivNatS0 vuz3200 vuz6500 (primGEqNatS vuz3200 vuz6500)",fontsize=16,color="burlywood",shape="box"];1516[label="vuz3200/Succ vuz32000",fontsize=10,color="white",style="solid",shape="box"];508 -> 1516[label="",style="solid", color="burlywood", weight=9]; 1516 -> 523[label="",style="solid", color="burlywood", weight=3]; 1517[label="vuz3200/Zero",fontsize=10,color="white",style="solid",shape="box"];508 -> 1517[label="",style="solid", color="burlywood", weight=9]; 1517 -> 524[label="",style="solid", color="burlywood", weight=3]; 509[label="Zero",fontsize=16,color="green",shape="box"];361[label="vuz47",fontsize=16,color="green",shape="box"];362[label="vuz41",fontsize=16,color="green",shape="box"];363[label="vuz47",fontsize=16,color="green",shape="box"];364[label="vuz41",fontsize=16,color="green",shape="box"];365[label="Integer vuz51 `quot` gcd (Integer vuz52) (Integer vuz230 * Integer vuz210)",fontsize=16,color="black",shape="box"];365 -> 377[label="",style="solid", color="black", weight=3]; 366[label="vuz210",fontsize=16,color="green",shape="box"];367[label="vuz200",fontsize=16,color="green",shape="box"];368[label="vuz210",fontsize=16,color="green",shape="box"];369[label="vuz200",fontsize=16,color="green",shape="box"];370[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"];370 -> 378[label="",style="solid", color="black", weight=3]; 510[label="gcd0Gcd'2 (abs vuz38) (abs vuz33)",fontsize=16,color="black",shape="box"];510 -> 525[label="",style="solid", color="black", weight=3]; 511[label="vuz33",fontsize=16,color="green",shape="box"];512[label="gcd1 False vuz38 vuz33",fontsize=16,color="black",shape="box"];512 -> 526[label="",style="solid", color="black", weight=3]; 513[label="gcd1 True vuz38 vuz33",fontsize=16,color="black",shape="box"];513 -> 527[label="",style="solid", color="black", weight=3]; 523[label="primDivNatS0 (Succ vuz32000) vuz6500 (primGEqNatS (Succ vuz32000) vuz6500)",fontsize=16,color="burlywood",shape="box"];1518[label="vuz6500/Succ vuz65000",fontsize=10,color="white",style="solid",shape="box"];523 -> 1518[label="",style="solid", color="burlywood", weight=9]; 1518 -> 531[label="",style="solid", color="burlywood", weight=3]; 1519[label="vuz6500/Zero",fontsize=10,color="white",style="solid",shape="box"];523 -> 1519[label="",style="solid", color="burlywood", weight=9]; 1519 -> 532[label="",style="solid", color="burlywood", weight=3]; 524[label="primDivNatS0 Zero vuz6500 (primGEqNatS Zero vuz6500)",fontsize=16,color="burlywood",shape="box"];1520[label="vuz6500/Succ vuz65000",fontsize=10,color="white",style="solid",shape="box"];524 -> 1520[label="",style="solid", color="burlywood", weight=9]; 1520 -> 533[label="",style="solid", color="burlywood", weight=3]; 1521[label="vuz6500/Zero",fontsize=10,color="white",style="solid",shape="box"];524 -> 1521[label="",style="solid", color="burlywood", weight=9]; 1521 -> 534[label="",style="solid", color="burlywood", weight=3]; 377[label="Integer vuz51 `quot` gcd3 (Integer vuz52) (Integer vuz230 * Integer vuz210)",fontsize=16,color="black",shape="box"];377 -> 385[label="",style="solid", color="black", weight=3]; 378 -> 386[label="",style="dashed", color="red", weight=0]; 378[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"];378 -> 387[label="",style="dashed", color="magenta", weight=3]; 378 -> 388[label="",style="dashed", color="magenta", weight=3]; 525 -> 535[label="",style="dashed", color="red", weight=0]; 525[label="gcd0Gcd'1 (abs vuz33 == fromInt (Pos Zero)) (abs vuz38) (abs vuz33)",fontsize=16,color="magenta"];525 -> 536[label="",style="dashed", color="magenta", weight=3]; 526 -> 491[label="",style="dashed", color="red", weight=0]; 526[label="gcd0 vuz38 vuz33",fontsize=16,color="magenta"];527 -> 471[label="",style="dashed", color="red", weight=0]; 527[label="error []",fontsize=16,color="magenta"];531[label="primDivNatS0 (Succ vuz32000) (Succ vuz65000) (primGEqNatS (Succ vuz32000) (Succ vuz65000))",fontsize=16,color="black",shape="box"];531 -> 537[label="",style="solid", color="black", weight=3]; 532[label="primDivNatS0 (Succ vuz32000) Zero (primGEqNatS (Succ vuz32000) Zero)",fontsize=16,color="black",shape="box"];532 -> 538[label="",style="solid", color="black", weight=3]; 533[label="primDivNatS0 Zero (Succ vuz65000) (primGEqNatS Zero (Succ vuz65000))",fontsize=16,color="black",shape="box"];533 -> 539[label="",style="solid", color="black", weight=3]; 534[label="primDivNatS0 Zero Zero (primGEqNatS Zero Zero)",fontsize=16,color="black",shape="box"];534 -> 540[label="",style="solid", color="black", weight=3]; 385 -> 395[label="",style="dashed", color="red", weight=0]; 385[label="Integer vuz51 `quot` gcd2 (Integer vuz52 == fromInt (Pos Zero)) (Integer vuz52) (Integer vuz230 * Integer vuz210)",fontsize=16,color="magenta"];385 -> 396[label="",style="dashed", color="magenta", weight=3]; 387 -> 58[label="",style="dashed", color="red", weight=0]; 387[label="primMulInt vuz220 vuz230",fontsize=16,color="magenta"];387 -> 397[label="",style="dashed", color="magenta", weight=3]; 387 -> 398[label="",style="dashed", color="magenta", weight=3]; 388 -> 58[label="",style="dashed", color="red", weight=0]; 388[label="primMulInt vuz220 vuz230",fontsize=16,color="magenta"];388 -> 399[label="",style="dashed", color="magenta", weight=3]; 388 -> 400[label="",style="dashed", color="magenta", weight=3]; 386[label="Integer vuz43 `quot` gcd2 (Integer vuz54 + Integer vuz58 == fromInt (Pos Zero)) (Integer vuz53 + Integer vuz57) (Integer vuz44)",fontsize=16,color="black",shape="triangle"];386 -> 401[label="",style="solid", color="black", weight=3]; 536 -> 139[label="",style="dashed", color="red", weight=0]; 536[label="abs vuz33 == fromInt (Pos Zero)",fontsize=16,color="magenta"];536 -> 541[label="",style="dashed", color="magenta", weight=3]; 535[label="gcd0Gcd'1 vuz73 (abs vuz38) (abs vuz33)",fontsize=16,color="burlywood",shape="triangle"];1522[label="vuz73/False",fontsize=10,color="white",style="solid",shape="box"];535 -> 1522[label="",style="solid", color="burlywood", weight=9]; 1522 -> 542[label="",style="solid", color="burlywood", weight=3]; 1523[label="vuz73/True",fontsize=10,color="white",style="solid",shape="box"];535 -> 1523[label="",style="solid", color="burlywood", weight=9]; 1523 -> 543[label="",style="solid", color="burlywood", weight=3]; 537 -> 871[label="",style="dashed", color="red", weight=0]; 537[label="primDivNatS0 (Succ vuz32000) (Succ vuz65000) (primGEqNatS vuz32000 vuz65000)",fontsize=16,color="magenta"];537 -> 872[label="",style="dashed", color="magenta", weight=3]; 537 -> 873[label="",style="dashed", color="magenta", weight=3]; 537 -> 874[label="",style="dashed", color="magenta", weight=3]; 537 -> 875[label="",style="dashed", color="magenta", weight=3]; 538[label="primDivNatS0 (Succ vuz32000) Zero True",fontsize=16,color="black",shape="box"];538 -> 553[label="",style="solid", color="black", weight=3]; 539[label="primDivNatS0 Zero (Succ vuz65000) False",fontsize=16,color="black",shape="box"];539 -> 554[label="",style="solid", color="black", weight=3]; 540[label="primDivNatS0 Zero Zero True",fontsize=16,color="black",shape="box"];540 -> 555[label="",style="solid", color="black", weight=3]; 396 -> 1060[label="",style="dashed", color="red", weight=0]; 396[label="Integer vuz52 == fromInt (Pos Zero)",fontsize=16,color="magenta"];396 -> 1064[label="",style="dashed", color="magenta", weight=3]; 395[label="Integer vuz51 `quot` gcd2 vuz59 (Integer vuz52) (Integer vuz230 * Integer vuz210)",fontsize=16,color="burlywood",shape="triangle"];1524[label="vuz59/False",fontsize=10,color="white",style="solid",shape="box"];395 -> 1524[label="",style="solid", color="burlywood", weight=9]; 1524 -> 408[label="",style="solid", color="burlywood", weight=3]; 1525[label="vuz59/True",fontsize=10,color="white",style="solid",shape="box"];395 -> 1525[label="",style="solid", color="burlywood", weight=9]; 1525 -> 409[label="",style="solid", color="burlywood", weight=3]; 397[label="vuz230",fontsize=16,color="green",shape="box"];398[label="vuz220",fontsize=16,color="green",shape="box"];399[label="vuz230",fontsize=16,color="green",shape="box"];400[label="vuz220",fontsize=16,color="green",shape="box"];401 -> 410[label="",style="dashed", color="red", weight=0]; 401[label="Integer vuz43 `quot` gcd2 (Integer (primPlusInt vuz54 vuz58) == fromInt (Pos Zero)) (Integer (primPlusInt vuz54 vuz58)) (Integer vuz44)",fontsize=16,color="magenta"];401 -> 411[label="",style="dashed", color="magenta", weight=3]; 401 -> 412[label="",style="dashed", color="magenta", weight=3]; 541[label="abs vuz33",fontsize=16,color="black",shape="triangle"];541 -> 556[label="",style="solid", color="black", weight=3]; 542[label="gcd0Gcd'1 False (abs vuz38) (abs vuz33)",fontsize=16,color="black",shape="box"];542 -> 557[label="",style="solid", color="black", weight=3]; 543[label="gcd0Gcd'1 True (abs vuz38) (abs vuz33)",fontsize=16,color="black",shape="box"];543 -> 558[label="",style="solid", color="black", weight=3]; 872[label="vuz32000",fontsize=16,color="green",shape="box"];873[label="vuz65000",fontsize=16,color="green",shape="box"];874[label="vuz65000",fontsize=16,color="green",shape="box"];875[label="vuz32000",fontsize=16,color="green",shape="box"];871[label="primDivNatS0 (Succ vuz97) (Succ vuz98) (primGEqNatS vuz99 vuz100)",fontsize=16,color="burlywood",shape="triangle"];1526[label="vuz99/Succ vuz990",fontsize=10,color="white",style="solid",shape="box"];871 -> 1526[label="",style="solid", color="burlywood", weight=9]; 1526 -> 904[label="",style="solid", color="burlywood", weight=3]; 1527[label="vuz99/Zero",fontsize=10,color="white",style="solid",shape="box"];871 -> 1527[label="",style="solid", color="burlywood", weight=9]; 1527 -> 905[label="",style="solid", color="burlywood", weight=3]; 553[label="Succ (primDivNatS (primMinusNatS (Succ vuz32000) Zero) (Succ Zero))",fontsize=16,color="green",shape="box"];553 -> 568[label="",style="dashed", color="green", weight=3]; 554[label="Zero",fontsize=16,color="green",shape="box"];555[label="Succ (primDivNatS (primMinusNatS Zero Zero) (Succ Zero))",fontsize=16,color="green",shape="box"];555 -> 569[label="",style="dashed", color="green", weight=3]; 1064[label="Integer vuz52",fontsize=16,color="green",shape="box"];408[label="Integer vuz51 `quot` gcd2 False (Integer vuz52) (Integer vuz230 * Integer vuz210)",fontsize=16,color="black",shape="box"];408 -> 477[label="",style="solid", color="black", weight=3]; 409[label="Integer vuz51 `quot` gcd2 True (Integer vuz52) (Integer vuz230 * Integer vuz210)",fontsize=16,color="black",shape="box"];409 -> 478[label="",style="solid", color="black", weight=3]; 411 -> 1060[label="",style="dashed", color="red", weight=0]; 411[label="Integer (primPlusInt vuz54 vuz58) == fromInt (Pos Zero)",fontsize=16,color="magenta"];411 -> 1065[label="",style="dashed", color="magenta", weight=3]; 412 -> 254[label="",style="dashed", color="red", weight=0]; 412[label="primPlusInt vuz54 vuz58",fontsize=16,color="magenta"];412 -> 480[label="",style="dashed", color="magenta", weight=3]; 412 -> 481[label="",style="dashed", color="magenta", weight=3]; 410[label="Integer vuz43 `quot` gcd2 vuz60 (Integer vuz61) (Integer vuz44)",fontsize=16,color="burlywood",shape="triangle"];1528[label="vuz60/False",fontsize=10,color="white",style="solid",shape="box"];410 -> 1528[label="",style="solid", color="burlywood", weight=9]; 1528 -> 482[label="",style="solid", color="burlywood", weight=3]; 1529[label="vuz60/True",fontsize=10,color="white",style="solid",shape="box"];410 -> 1529[label="",style="solid", color="burlywood", weight=9]; 1529 -> 483[label="",style="solid", color="burlywood", weight=3]; 556[label="absReal vuz33",fontsize=16,color="black",shape="box"];556 -> 570[label="",style="solid", color="black", weight=3]; 557 -> 571[label="",style="dashed", color="red", weight=0]; 557[label="gcd0Gcd'0 (abs vuz38) (abs vuz33)",fontsize=16,color="magenta"];557 -> 572[label="",style="dashed", color="magenta", weight=3]; 557 -> 573[label="",style="dashed", color="magenta", weight=3]; 558 -> 541[label="",style="dashed", color="red", weight=0]; 558[label="abs vuz38",fontsize=16,color="magenta"];558 -> 574[label="",style="dashed", color="magenta", weight=3]; 904[label="primDivNatS0 (Succ vuz97) (Succ vuz98) (primGEqNatS (Succ vuz990) vuz100)",fontsize=16,color="burlywood",shape="box"];1530[label="vuz100/Succ vuz1000",fontsize=10,color="white",style="solid",shape="box"];904 -> 1530[label="",style="solid", color="burlywood", weight=9]; 1530 -> 916[label="",style="solid", color="burlywood", weight=3]; 1531[label="vuz100/Zero",fontsize=10,color="white",style="solid",shape="box"];904 -> 1531[label="",style="solid", color="burlywood", weight=9]; 1531 -> 917[label="",style="solid", color="burlywood", weight=3]; 905[label="primDivNatS0 (Succ vuz97) (Succ vuz98) (primGEqNatS Zero vuz100)",fontsize=16,color="burlywood",shape="box"];1532[label="vuz100/Succ vuz1000",fontsize=10,color="white",style="solid",shape="box"];905 -> 1532[label="",style="solid", color="burlywood", weight=9]; 1532 -> 918[label="",style="solid", color="burlywood", weight=3]; 1533[label="vuz100/Zero",fontsize=10,color="white",style="solid",shape="box"];905 -> 1533[label="",style="solid", color="burlywood", weight=9]; 1533 -> 919[label="",style="solid", color="burlywood", weight=3]; 568 -> 488[label="",style="dashed", color="red", weight=0]; 568[label="primDivNatS (primMinusNatS (Succ vuz32000) Zero) (Succ Zero)",fontsize=16,color="magenta"];568 -> 579[label="",style="dashed", color="magenta", weight=3]; 568 -> 580[label="",style="dashed", color="magenta", weight=3]; 569 -> 488[label="",style="dashed", color="red", weight=0]; 569[label="primDivNatS (primMinusNatS Zero Zero) (Succ Zero)",fontsize=16,color="magenta"];569 -> 581[label="",style="dashed", color="magenta", weight=3]; 569 -> 582[label="",style="dashed", color="magenta", weight=3]; 477[label="Integer vuz51 `quot` gcd0 (Integer vuz52) (Integer vuz230 * Integer vuz210)",fontsize=16,color="black",shape="triangle"];477 -> 493[label="",style="solid", color="black", weight=3]; 478 -> 494[label="",style="dashed", color="red", weight=0]; 478[label="Integer vuz51 `quot` gcd1 (Integer vuz230 * Integer vuz210 == fromInt (Pos Zero)) (Integer vuz52) (Integer vuz230 * Integer vuz210)",fontsize=16,color="magenta"];478 -> 495[label="",style="dashed", color="magenta", weight=3]; 1065[label="Integer (primPlusInt vuz54 vuz58)",fontsize=16,color="green",shape="box"];1065 -> 1073[label="",style="dashed", color="green", weight=3]; 480[label="vuz58",fontsize=16,color="green",shape="box"];481[label="vuz54",fontsize=16,color="green",shape="box"];482[label="Integer vuz43 `quot` gcd2 False (Integer vuz61) (Integer vuz44)",fontsize=16,color="black",shape="box"];482 -> 516[label="",style="solid", color="black", weight=3]; 483[label="Integer vuz43 `quot` gcd2 True (Integer vuz61) (Integer vuz44)",fontsize=16,color="black",shape="box"];483 -> 517[label="",style="solid", color="black", weight=3]; 570[label="absReal2 vuz33",fontsize=16,color="black",shape="box"];570 -> 583[label="",style="solid", color="black", weight=3]; 572 -> 541[label="",style="dashed", color="red", weight=0]; 572[label="abs vuz38",fontsize=16,color="magenta"];572 -> 584[label="",style="dashed", color="magenta", weight=3]; 573 -> 541[label="",style="dashed", color="red", weight=0]; 573[label="abs vuz33",fontsize=16,color="magenta"];571[label="gcd0Gcd'0 vuz75 vuz74",fontsize=16,color="black",shape="triangle"];571 -> 585[label="",style="solid", color="black", weight=3]; 574[label="vuz38",fontsize=16,color="green",shape="box"];916[label="primDivNatS0 (Succ vuz97) (Succ vuz98) (primGEqNatS (Succ vuz990) (Succ vuz1000))",fontsize=16,color="black",shape="box"];916 -> 929[label="",style="solid", color="black", weight=3]; 917[label="primDivNatS0 (Succ vuz97) (Succ vuz98) (primGEqNatS (Succ vuz990) Zero)",fontsize=16,color="black",shape="box"];917 -> 930[label="",style="solid", color="black", weight=3]; 918[label="primDivNatS0 (Succ vuz97) (Succ vuz98) (primGEqNatS Zero (Succ vuz1000))",fontsize=16,color="black",shape="box"];918 -> 931[label="",style="solid", color="black", weight=3]; 919[label="primDivNatS0 (Succ vuz97) (Succ vuz98) (primGEqNatS Zero Zero)",fontsize=16,color="black",shape="box"];919 -> 932[label="",style="solid", color="black", weight=3]; 579[label="primMinusNatS (Succ vuz32000) Zero",fontsize=16,color="black",shape="triangle"];579 -> 594[label="",style="solid", color="black", weight=3]; 580[label="Zero",fontsize=16,color="green",shape="box"];581[label="primMinusNatS Zero Zero",fontsize=16,color="black",shape="triangle"];581 -> 595[label="",style="solid", color="black", weight=3]; 582[label="Zero",fontsize=16,color="green",shape="box"];493[label="Integer vuz51 `quot` gcd0Gcd' (abs (Integer vuz52)) (abs (Integer vuz230 * Integer vuz210))",fontsize=16,color="black",shape="box"];493 -> 518[label="",style="solid", color="black", weight=3]; 495 -> 1060[label="",style="dashed", color="red", weight=0]; 495[label="Integer vuz230 * Integer vuz210 == fromInt (Pos Zero)",fontsize=16,color="magenta"];495 -> 1066[label="",style="dashed", color="magenta", weight=3]; 494[label="Integer vuz51 `quot` gcd1 vuz70 (Integer vuz52) (Integer vuz230 * Integer vuz210)",fontsize=16,color="burlywood",shape="triangle"];1534[label="vuz70/False",fontsize=10,color="white",style="solid",shape="box"];494 -> 1534[label="",style="solid", color="burlywood", weight=9]; 1534 -> 521[label="",style="solid", color="burlywood", weight=3]; 1535[label="vuz70/True",fontsize=10,color="white",style="solid",shape="box"];494 -> 1535[label="",style="solid", color="burlywood", weight=9]; 1535 -> 522[label="",style="solid", color="burlywood", weight=3]; 1073 -> 254[label="",style="dashed", color="red", weight=0]; 1073[label="primPlusInt vuz54 vuz58",fontsize=16,color="magenta"];1073 -> 1081[label="",style="dashed", color="magenta", weight=3]; 1073 -> 1082[label="",style="dashed", color="magenta", weight=3]; 516[label="Integer vuz43 `quot` gcd0 (Integer vuz61) (Integer vuz44)",fontsize=16,color="black",shape="triangle"];516 -> 528[label="",style="solid", color="black", weight=3]; 517 -> 529[label="",style="dashed", color="red", weight=0]; 517[label="Integer vuz43 `quot` gcd1 (Integer vuz44 == fromInt (Pos Zero)) (Integer vuz61) (Integer vuz44)",fontsize=16,color="magenta"];517 -> 530[label="",style="dashed", color="magenta", weight=3]; 583[label="absReal1 vuz33 (vuz33 >= fromInt (Pos Zero))",fontsize=16,color="black",shape="box"];583 -> 596[label="",style="solid", color="black", weight=3]; 584[label="vuz38",fontsize=16,color="green",shape="box"];585[label="gcd0Gcd' vuz74 (vuz75 `rem` vuz74)",fontsize=16,color="black",shape="box"];585 -> 597[label="",style="solid", color="black", weight=3]; 929 -> 871[label="",style="dashed", color="red", weight=0]; 929[label="primDivNatS0 (Succ vuz97) (Succ vuz98) (primGEqNatS vuz990 vuz1000)",fontsize=16,color="magenta"];929 -> 941[label="",style="dashed", color="magenta", weight=3]; 929 -> 942[label="",style="dashed", color="magenta", weight=3]; 930[label="primDivNatS0 (Succ vuz97) (Succ vuz98) True",fontsize=16,color="black",shape="triangle"];930 -> 943[label="",style="solid", color="black", weight=3]; 931[label="primDivNatS0 (Succ vuz97) (Succ vuz98) False",fontsize=16,color="black",shape="box"];931 -> 944[label="",style="solid", color="black", weight=3]; 932 -> 930[label="",style="dashed", color="red", weight=0]; 932[label="primDivNatS0 (Succ vuz97) (Succ vuz98) True",fontsize=16,color="magenta"];594[label="Succ vuz32000",fontsize=16,color="green",shape="box"];595[label="Zero",fontsize=16,color="green",shape="box"];518[label="Integer vuz51 `quot` gcd0Gcd'2 (abs (Integer vuz52)) (abs (Integer vuz230 * Integer vuz210))",fontsize=16,color="black",shape="box"];518 -> 544[label="",style="solid", color="black", weight=3]; 1066 -> 1061[label="",style="dashed", color="red", weight=0]; 1066[label="Integer vuz230 * Integer vuz210",fontsize=16,color="magenta"];1066 -> 1074[label="",style="dashed", color="magenta", weight=3]; 1066 -> 1075[label="",style="dashed", color="magenta", weight=3]; 521[label="Integer vuz51 `quot` gcd1 False (Integer vuz52) (Integer vuz230 * Integer vuz210)",fontsize=16,color="black",shape="box"];521 -> 545[label="",style="solid", color="black", weight=3]; 522[label="Integer vuz51 `quot` gcd1 True (Integer vuz52) (Integer vuz230 * Integer vuz210)",fontsize=16,color="black",shape="box"];522 -> 546[label="",style="solid", color="black", weight=3]; 1081[label="vuz58",fontsize=16,color="green",shape="box"];1082[label="vuz54",fontsize=16,color="green",shape="box"];528[label="Integer vuz43 `quot` gcd0Gcd' (abs (Integer vuz61)) (abs (Integer vuz44))",fontsize=16,color="black",shape="box"];528 -> 547[label="",style="solid", color="black", weight=3]; 530 -> 1060[label="",style="dashed", color="red", weight=0]; 530[label="Integer vuz44 == fromInt (Pos Zero)",fontsize=16,color="magenta"];530 -> 1067[label="",style="dashed", color="magenta", weight=3]; 529[label="Integer vuz43 `quot` gcd1 vuz72 (Integer vuz61) (Integer vuz44)",fontsize=16,color="burlywood",shape="triangle"];1536[label="vuz72/False",fontsize=10,color="white",style="solid",shape="box"];529 -> 1536[label="",style="solid", color="burlywood", weight=9]; 1536 -> 549[label="",style="solid", color="burlywood", weight=3]; 1537[label="vuz72/True",fontsize=10,color="white",style="solid",shape="box"];529 -> 1537[label="",style="solid", color="burlywood", weight=9]; 1537 -> 550[label="",style="solid", color="burlywood", 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]; 941[label="vuz1000",fontsize=16,color="green",shape="box"];942[label="vuz990",fontsize=16,color="green",shape="box"];943[label="Succ (primDivNatS (primMinusNatS (Succ vuz97) (Succ vuz98)) (Succ (Succ vuz98)))",fontsize=16,color="green",shape="box"];943 -> 1018[label="",style="dashed", color="green", weight=3]; 944[label="Zero",fontsize=16,color="green",shape="box"];544 -> 1043[label="",style="dashed", color="red", weight=0]; 544[label="Integer vuz51 `quot` gcd0Gcd'1 (abs (Integer vuz230 * Integer vuz210) == fromInt (Pos Zero)) (abs (Integer vuz52)) (abs (Integer vuz230 * Integer vuz210))",fontsize=16,color="magenta"];544 -> 1044[label="",style="dashed", color="magenta", weight=3]; 544 -> 1045[label="",style="dashed", color="magenta", weight=3]; 544 -> 1046[label="",style="dashed", color="magenta", weight=3]; 1074[label="Integer vuz230",fontsize=16,color="green",shape="box"];1075[label="Integer vuz210",fontsize=16,color="green",shape="box"];545 -> 477[label="",style="dashed", color="red", weight=0]; 545[label="Integer vuz51 `quot` gcd0 (Integer vuz52) (Integer vuz230 * Integer vuz210)",fontsize=16,color="magenta"];546[label="Integer vuz51 `quot` error []",fontsize=16,color="black",shape="triangle"];546 -> 560[label="",style="solid", color="black", weight=3]; 547[label="Integer vuz43 `quot` gcd0Gcd'2 (abs (Integer vuz61)) (abs (Integer vuz44))",fontsize=16,color="black",shape="box"];547 -> 561[label="",style="solid", color="black", weight=3]; 1067[label="Integer vuz44",fontsize=16,color="green",shape="box"];549[label="Integer vuz43 `quot` gcd1 False (Integer vuz61) (Integer vuz44)",fontsize=16,color="black",shape="box"];549 -> 562[label="",style="solid", color="black", weight=3]; 550[label="Integer vuz43 `quot` gcd1 True (Integer vuz61) (Integer vuz44)",fontsize=16,color="black",shape="box"];550 -> 563[label="",style="solid", color="black", weight=3]; 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]; 1018 -> 488[label="",style="dashed", color="red", weight=0]; 1018[label="primDivNatS (primMinusNatS (Succ vuz97) (Succ vuz98)) (Succ (Succ vuz98))",fontsize=16,color="magenta"];1018 -> 1030[label="",style="dashed", color="magenta", weight=3]; 1018 -> 1031[label="",style="dashed", color="magenta", weight=3]; 1044 -> 1060[label="",style="dashed", color="red", weight=0]; 1044[label="abs (Integer vuz230 * Integer vuz210) == fromInt (Pos Zero)",fontsize=16,color="magenta"];1044 -> 1068[label="",style="dashed", color="magenta", weight=3]; 1045[label="abs (Integer vuz230 * Integer vuz210)",fontsize=16,color="black",shape="triangle"];1045 -> 1056[label="",style="solid", color="black", weight=3]; 1046[label="abs (Integer vuz52)",fontsize=16,color="black",shape="triangle"];1046 -> 1057[label="",style="solid", color="black", weight=3]; 1043[label="Integer vuz51 `quot` gcd0Gcd'1 vuz105 vuz104 vuz102",fontsize=16,color="burlywood",shape="triangle"];1538[label="vuz105/False",fontsize=10,color="white",style="solid",shape="box"];1043 -> 1538[label="",style="solid", color="burlywood", weight=9]; 1538 -> 1058[label="",style="solid", color="burlywood", weight=3]; 1539[label="vuz105/True",fontsize=10,color="white",style="solid",shape="box"];1043 -> 1539[label="",style="solid", color="burlywood", weight=9]; 1539 -> 1059[label="",style="solid", color="burlywood", weight=3]; 560[label="error []",fontsize=16,color="red",shape="box"];561 -> 1043[label="",style="dashed", color="red", weight=0]; 561[label="Integer vuz43 `quot` gcd0Gcd'1 (abs (Integer vuz44) == fromInt (Pos Zero)) (abs (Integer vuz61)) (abs (Integer vuz44))",fontsize=16,color="magenta"];561 -> 1049[label="",style="dashed", color="magenta", weight=3]; 561 -> 1050[label="",style="dashed", color="magenta", weight=3]; 561 -> 1051[label="",style="dashed", color="magenta", weight=3]; 561 -> 1052[label="",style="dashed", color="magenta", weight=3]; 562 -> 516[label="",style="dashed", color="red", weight=0]; 562[label="Integer vuz43 `quot` gcd0 (Integer vuz61) (Integer vuz44)",fontsize=16,color="magenta"];563 -> 546[label="",style="dashed", color="red", weight=0]; 563[label="Integer vuz43 `quot` error []",fontsize=16,color="magenta"];563 -> 588[label="",style="dashed", color="magenta", weight=3]; 618[label="absReal1 vuz33 (not (primCmpInt vuz33 (fromInt (Pos Zero)) == LT))",fontsize=16,color="burlywood",shape="box"];1540[label="vuz33/Pos vuz330",fontsize=10,color="white",style="solid",shape="box"];618 -> 1540[label="",style="solid", color="burlywood", weight=9]; 1540 -> 628[label="",style="solid", color="burlywood", weight=3]; 1541[label="vuz33/Neg vuz330",fontsize=10,color="white",style="solid",shape="box"];618 -> 1541[label="",style="solid", color="burlywood", weight=9]; 1541 -> 629[label="",style="solid", color="burlywood", weight=3]; 620 -> 139[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"];1542[label="vuz76/False",fontsize=10,color="white",style="solid",shape="box"];619 -> 1542[label="",style="solid", color="burlywood", weight=9]; 1542 -> 631[label="",style="solid", color="burlywood", weight=3]; 1543[label="vuz76/True",fontsize=10,color="white",style="solid",shape="box"];619 -> 1543[label="",style="solid", color="burlywood", weight=9]; 1543 -> 632[label="",style="solid", color="burlywood", weight=3]; 1030[label="primMinusNatS (Succ vuz97) (Succ vuz98)",fontsize=16,color="black",shape="box"];1030 -> 1041[label="",style="solid", color="black", weight=3]; 1031[label="Succ vuz98",fontsize=16,color="green",shape="box"];1068 -> 1045[label="",style="dashed", color="red", weight=0]; 1068[label="abs (Integer vuz230 * Integer vuz210)",fontsize=16,color="magenta"];1056 -> 1076[label="",style="dashed", color="red", weight=0]; 1056[label="absReal (Integer vuz230 * Integer vuz210)",fontsize=16,color="magenta"];1056 -> 1077[label="",style="dashed", color="magenta", weight=3]; 1057 -> 1076[label="",style="dashed", color="red", weight=0]; 1057[label="absReal (Integer vuz52)",fontsize=16,color="magenta"];1057 -> 1078[label="",style="dashed", color="magenta", weight=3]; 1058[label="Integer vuz51 `quot` gcd0Gcd'1 False vuz104 vuz102",fontsize=16,color="black",shape="box"];1058 -> 1083[label="",style="solid", color="black", weight=3]; 1059[label="Integer vuz51 `quot` gcd0Gcd'1 True vuz104 vuz102",fontsize=16,color="black",shape="box"];1059 -> 1084[label="",style="solid", color="black", weight=3]; 1049 -> 1060[label="",style="dashed", color="red", weight=0]; 1049[label="abs (Integer vuz44) == fromInt (Pos Zero)",fontsize=16,color="magenta"];1049 -> 1070[label="",style="dashed", color="magenta", weight=3]; 1050 -> 1046[label="",style="dashed", color="red", weight=0]; 1050[label="abs (Integer vuz44)",fontsize=16,color="magenta"];1050 -> 1085[label="",style="dashed", color="magenta", weight=3]; 1051 -> 1046[label="",style="dashed", color="red", weight=0]; 1051[label="abs (Integer vuz61)",fontsize=16,color="magenta"];1051 -> 1086[label="",style="dashed", color="magenta", weight=3]; 1052[label="vuz43",fontsize=16,color="green",shape="box"];588[label="vuz43",fontsize=16,color="green",shape="box"];628[label="absReal1 (Pos vuz330) (not (primCmpInt (Pos vuz330) (fromInt (Pos Zero)) == LT))",fontsize=16,color="burlywood",shape="box"];1544[label="vuz330/Succ vuz3300",fontsize=10,color="white",style="solid",shape="box"];628 -> 1544[label="",style="solid", color="burlywood", weight=9]; 1544 -> 642[label="",style="solid", color="burlywood", weight=3]; 1545[label="vuz330/Zero",fontsize=10,color="white",style="solid",shape="box"];628 -> 1545[label="",style="solid", color="burlywood", weight=9]; 1545 -> 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"];1546[label="vuz330/Succ vuz3300",fontsize=10,color="white",style="solid",shape="box"];629 -> 1546[label="",style="solid", color="burlywood", weight=9]; 1546 -> 644[label="",style="solid", color="burlywood", weight=3]; 1547[label="vuz330/Zero",fontsize=10,color="white",style="solid",shape="box"];629 -> 1547[label="",style="solid", color="burlywood", weight=9]; 1547 -> 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]; 1041[label="primMinusNatS vuz97 vuz98",fontsize=16,color="burlywood",shape="triangle"];1548[label="vuz97/Succ vuz970",fontsize=10,color="white",style="solid",shape="box"];1041 -> 1548[label="",style="solid", color="burlywood", weight=9]; 1548 -> 1087[label="",style="solid", color="burlywood", weight=3]; 1549[label="vuz97/Zero",fontsize=10,color="white",style="solid",shape="box"];1041 -> 1549[label="",style="solid", color="burlywood", weight=9]; 1549 -> 1088[label="",style="solid", color="burlywood", weight=3]; 1077 -> 1061[label="",style="dashed", color="red", weight=0]; 1077[label="Integer vuz230 * Integer vuz210",fontsize=16,color="magenta"];1077 -> 1089[label="",style="dashed", color="magenta", weight=3]; 1077 -> 1090[label="",style="dashed", color="magenta", weight=3]; 1076[label="absReal vuz107",fontsize=16,color="black",shape="triangle"];1076 -> 1091[label="",style="solid", color="black", weight=3]; 1078[label="Integer vuz52",fontsize=16,color="green",shape="box"];1083[label="Integer vuz51 `quot` gcd0Gcd'0 vuz104 vuz102",fontsize=16,color="black",shape="box"];1083 -> 1104[label="",style="solid", color="black", weight=3]; 1084[label="Integer vuz51 `quot` vuz104",fontsize=16,color="burlywood",shape="triangle"];1550[label="vuz104/Integer vuz1040",fontsize=10,color="white",style="solid",shape="box"];1084 -> 1550[label="",style="solid", color="burlywood", weight=9]; 1550 -> 1105[label="",style="solid", color="burlywood", weight=3]; 1070 -> 1046[label="",style="dashed", color="red", weight=0]; 1070[label="abs (Integer vuz44)",fontsize=16,color="magenta"];1070 -> 1092[label="",style="dashed", color="magenta", weight=3]; 1085[label="vuz44",fontsize=16,color="green",shape="box"];1086[label="vuz61",fontsize=16,color="green",shape="box"];642[label="absReal1 (Pos (Succ vuz3300)) (not (primCmpInt (Pos (Succ vuz3300)) (fromInt (Pos Zero)) == LT))",fontsize=16,color="black",shape="box"];642 -> 659[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 -> 660[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 -> 661[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 -> 662[label="",style="solid", color="black", weight=3]; 646[label="primRemInt vuz75 vuz74",fontsize=16,color="burlywood",shape="triangle"];1551[label="vuz75/Pos vuz750",fontsize=10,color="white",style="solid",shape="box"];646 -> 1551[label="",style="solid", color="burlywood", weight=9]; 1551 -> 663[label="",style="solid", color="burlywood", weight=3]; 1552[label="vuz75/Neg vuz750",fontsize=10,color="white",style="solid",shape="box"];646 -> 1552[label="",style="solid", color="burlywood", weight=9]; 1552 -> 664[label="",style="solid", color="burlywood", weight=3]; 647 -> 571[label="",style="dashed", color="red", weight=0]; 647[label="gcd0Gcd'0 vuz74 (vuz75 `rem` vuz74)",fontsize=16,color="magenta"];647 -> 665[label="",style="dashed", color="magenta", weight=3]; 647 -> 666[label="",style="dashed", color="magenta", weight=3]; 648[label="vuz74",fontsize=16,color="green",shape="box"];1087[label="primMinusNatS (Succ vuz970) vuz98",fontsize=16,color="burlywood",shape="box"];1553[label="vuz98/Succ vuz980",fontsize=10,color="white",style="solid",shape="box"];1087 -> 1553[label="",style="solid", color="burlywood", weight=9]; 1553 -> 1106[label="",style="solid", color="burlywood", weight=3]; 1554[label="vuz98/Zero",fontsize=10,color="white",style="solid",shape="box"];1087 -> 1554[label="",style="solid", color="burlywood", weight=9]; 1554 -> 1107[label="",style="solid", color="burlywood", weight=3]; 1088[label="primMinusNatS Zero vuz98",fontsize=16,color="burlywood",shape="box"];1555[label="vuz98/Succ vuz980",fontsize=10,color="white",style="solid",shape="box"];1088 -> 1555[label="",style="solid", color="burlywood", weight=9]; 1555 -> 1108[label="",style="solid", color="burlywood", weight=3]; 1556[label="vuz98/Zero",fontsize=10,color="white",style="solid",shape="box"];1088 -> 1556[label="",style="solid", color="burlywood", weight=9]; 1556 -> 1109[label="",style="solid", color="burlywood", weight=3]; 1089[label="Integer vuz230",fontsize=16,color="green",shape="box"];1090[label="Integer vuz210",fontsize=16,color="green",shape="box"];1091[label="absReal2 vuz107",fontsize=16,color="black",shape="box"];1091 -> 1110[label="",style="solid", color="black", weight=3]; 1104 -> 1084[label="",style="dashed", color="red", weight=0]; 1104[label="Integer vuz51 `quot` gcd0Gcd' vuz102 (vuz104 `rem` vuz102)",fontsize=16,color="magenta"];1104 -> 1122[label="",style="dashed", color="magenta", weight=3]; 1105[label="Integer vuz51 `quot` Integer vuz1040",fontsize=16,color="black",shape="box"];1105 -> 1123[label="",style="solid", color="black", weight=3]; 1092[label="vuz44",fontsize=16,color="green",shape="box"];659[label="absReal1 (Pos (Succ vuz3300)) (not (primCmpInt (Pos (Succ vuz3300)) (Pos Zero) == LT))",fontsize=16,color="black",shape="box"];659 -> 685[label="",style="solid", color="black", weight=3]; 660[label="absReal1 (Pos Zero) (not (primCmpInt (Pos Zero) (Pos Zero) == LT))",fontsize=16,color="black",shape="box"];660 -> 686[label="",style="solid", color="black", weight=3]; 661[label="absReal1 (Neg (Succ vuz3300)) (not (primCmpInt (Neg (Succ vuz3300)) (Pos Zero) == LT))",fontsize=16,color="black",shape="box"];661 -> 687[label="",style="solid", color="black", weight=3]; 662[label="absReal1 (Neg Zero) (not (primCmpInt (Neg Zero) (Pos Zero) == LT))",fontsize=16,color="black",shape="box"];662 -> 688[label="",style="solid", color="black", weight=3]; 663[label="primRemInt (Pos vuz750) vuz74",fontsize=16,color="burlywood",shape="box"];1557[label="vuz74/Pos vuz740",fontsize=10,color="white",style="solid",shape="box"];663 -> 1557[label="",style="solid", color="burlywood", weight=9]; 1557 -> 689[label="",style="solid", color="burlywood", weight=3]; 1558[label="vuz74/Neg vuz740",fontsize=10,color="white",style="solid",shape="box"];663 -> 1558[label="",style="solid", color="burlywood", weight=9]; 1558 -> 690[label="",style="solid", color="burlywood", weight=3]; 664[label="primRemInt (Neg vuz750) vuz74",fontsize=16,color="burlywood",shape="box"];1559[label="vuz74/Pos vuz740",fontsize=10,color="white",style="solid",shape="box"];664 -> 1559[label="",style="solid", color="burlywood", weight=9]; 1559 -> 691[label="",style="solid", color="burlywood", weight=3]; 1560[label="vuz74/Neg vuz740",fontsize=10,color="white",style="solid",shape="box"];664 -> 1560[label="",style="solid", color="burlywood", weight=9]; 1560 -> 692[label="",style="solid", color="burlywood", weight=3]; 665[label="vuz74",fontsize=16,color="green",shape="box"];666 -> 630[label="",style="dashed", color="red", weight=0]; 666[label="vuz75 `rem` vuz74",fontsize=16,color="magenta"];1106[label="primMinusNatS (Succ vuz970) (Succ vuz980)",fontsize=16,color="black",shape="box"];1106 -> 1124[label="",style="solid", color="black", weight=3]; 1107[label="primMinusNatS (Succ vuz970) Zero",fontsize=16,color="black",shape="box"];1107 -> 1125[label="",style="solid", color="black", weight=3]; 1108[label="primMinusNatS Zero (Succ vuz980)",fontsize=16,color="black",shape="box"];1108 -> 1126[label="",style="solid", color="black", weight=3]; 1109[label="primMinusNatS Zero Zero",fontsize=16,color="black",shape="box"];1109 -> 1127[label="",style="solid", color="black", weight=3]; 1110[label="absReal1 vuz107 (vuz107 >= fromInt (Pos Zero))",fontsize=16,color="black",shape="box"];1110 -> 1128[label="",style="solid", color="black", weight=3]; 1122[label="gcd0Gcd' vuz102 (vuz104 `rem` vuz102)",fontsize=16,color="black",shape="triangle"];1122 -> 1143[label="",style="solid", color="black", weight=3]; 1123[label="Integer (primQuotInt vuz51 vuz1040)",fontsize=16,color="green",shape="box"];1123 -> 1144[label="",style="dashed", color="green", weight=3]; 685[label="absReal1 (Pos (Succ vuz3300)) (not (primCmpNat (Succ vuz3300) Zero == LT))",fontsize=16,color="black",shape="box"];685 -> 709[label="",style="solid", color="black", weight=3]; 686[label="absReal1 (Pos Zero) (not (EQ == LT))",fontsize=16,color="black",shape="box"];686 -> 710[label="",style="solid", color="black", weight=3]; 687[label="absReal1 (Neg (Succ vuz3300)) (not (LT == LT))",fontsize=16,color="black",shape="box"];687 -> 711[label="",style="solid", color="black", weight=3]; 688[label="absReal1 (Neg Zero) (not (EQ == LT))",fontsize=16,color="black",shape="box"];688 -> 712[label="",style="solid", color="black", weight=3]; 689[label="primRemInt (Pos vuz750) (Pos vuz740)",fontsize=16,color="burlywood",shape="box"];1561[label="vuz740/Succ vuz7400",fontsize=10,color="white",style="solid",shape="box"];689 -> 1561[label="",style="solid", color="burlywood", weight=9]; 1561 -> 713[label="",style="solid", color="burlywood", weight=3]; 1562[label="vuz740/Zero",fontsize=10,color="white",style="solid",shape="box"];689 -> 1562[label="",style="solid", color="burlywood", weight=9]; 1562 -> 714[label="",style="solid", color="burlywood", weight=3]; 690[label="primRemInt (Pos vuz750) (Neg vuz740)",fontsize=16,color="burlywood",shape="box"];1563[label="vuz740/Succ vuz7400",fontsize=10,color="white",style="solid",shape="box"];690 -> 1563[label="",style="solid", color="burlywood", weight=9]; 1563 -> 715[label="",style="solid", color="burlywood", weight=3]; 1564[label="vuz740/Zero",fontsize=10,color="white",style="solid",shape="box"];690 -> 1564[label="",style="solid", color="burlywood", weight=9]; 1564 -> 716[label="",style="solid", color="burlywood", weight=3]; 691[label="primRemInt (Neg vuz750) (Pos vuz740)",fontsize=16,color="burlywood",shape="box"];1565[label="vuz740/Succ vuz7400",fontsize=10,color="white",style="solid",shape="box"];691 -> 1565[label="",style="solid", color="burlywood", weight=9]; 1565 -> 717[label="",style="solid", color="burlywood", weight=3]; 1566[label="vuz740/Zero",fontsize=10,color="white",style="solid",shape="box"];691 -> 1566[label="",style="solid", color="burlywood", weight=9]; 1566 -> 718[label="",style="solid", color="burlywood", weight=3]; 692[label="primRemInt (Neg vuz750) (Neg vuz740)",fontsize=16,color="burlywood",shape="box"];1567[label="vuz740/Succ vuz7400",fontsize=10,color="white",style="solid",shape="box"];692 -> 1567[label="",style="solid", color="burlywood", weight=9]; 1567 -> 719[label="",style="solid", color="burlywood", weight=3]; 1568[label="vuz740/Zero",fontsize=10,color="white",style="solid",shape="box"];692 -> 1568[label="",style="solid", color="burlywood", weight=9]; 1568 -> 720[label="",style="solid", color="burlywood", weight=3]; 1124 -> 1041[label="",style="dashed", color="red", weight=0]; 1124[label="primMinusNatS vuz970 vuz980",fontsize=16,color="magenta"];1124 -> 1145[label="",style="dashed", color="magenta", weight=3]; 1124 -> 1146[label="",style="dashed", color="magenta", weight=3]; 1125[label="Succ vuz970",fontsize=16,color="green",shape="box"];1126[label="Zero",fontsize=16,color="green",shape="box"];1127[label="Zero",fontsize=16,color="green",shape="box"];1128[label="absReal1 vuz107 (compare vuz107 (fromInt (Pos Zero)) /= LT)",fontsize=16,color="black",shape="box"];1128 -> 1147[label="",style="solid", color="black", weight=3]; 1143[label="gcd0Gcd'2 vuz102 (vuz104 `rem` vuz102)",fontsize=16,color="black",shape="box"];1143 -> 1157[label="",style="solid", color="black", weight=3]; 1144[label="primQuotInt vuz51 vuz1040",fontsize=16,color="burlywood",shape="box"];1569[label="vuz51/Pos vuz510",fontsize=10,color="white",style="solid",shape="box"];1144 -> 1569[label="",style="solid", color="burlywood", weight=9]; 1569 -> 1158[label="",style="solid", color="burlywood", weight=3]; 1570[label="vuz51/Neg vuz510",fontsize=10,color="white",style="solid",shape="box"];1144 -> 1570[label="",style="solid", color="burlywood", weight=9]; 1570 -> 1159[label="",style="solid", color="burlywood", weight=3]; 709[label="absReal1 (Pos (Succ vuz3300)) (not (GT == LT))",fontsize=16,color="black",shape="box"];709 -> 730[label="",style="solid", color="black", weight=3]; 710[label="absReal1 (Pos Zero) (not False)",fontsize=16,color="black",shape="box"];710 -> 731[label="",style="solid", color="black", weight=3]; 711[label="absReal1 (Neg (Succ vuz3300)) (not True)",fontsize=16,color="black",shape="box"];711 -> 732[label="",style="solid", color="black", weight=3]; 712[label="absReal1 (Neg Zero) (not False)",fontsize=16,color="black",shape="box"];712 -> 733[label="",style="solid", color="black", weight=3]; 713[label="primRemInt (Pos vuz750) (Pos (Succ vuz7400))",fontsize=16,color="black",shape="box"];713 -> 734[label="",style="solid", color="black", weight=3]; 714[label="primRemInt (Pos vuz750) (Pos Zero)",fontsize=16,color="black",shape="box"];714 -> 735[label="",style="solid", color="black", weight=3]; 715[label="primRemInt (Pos vuz750) (Neg (Succ vuz7400))",fontsize=16,color="black",shape="box"];715 -> 736[label="",style="solid", color="black", weight=3]; 716[label="primRemInt (Pos vuz750) (Neg Zero)",fontsize=16,color="black",shape="box"];716 -> 737[label="",style="solid", color="black", weight=3]; 717[label="primRemInt (Neg vuz750) (Pos (Succ vuz7400))",fontsize=16,color="black",shape="box"];717 -> 738[label="",style="solid", color="black", weight=3]; 718[label="primRemInt (Neg vuz750) (Pos Zero)",fontsize=16,color="black",shape="box"];718 -> 739[label="",style="solid", color="black", weight=3]; 719[label="primRemInt (Neg vuz750) (Neg (Succ vuz7400))",fontsize=16,color="black",shape="box"];719 -> 740[label="",style="solid", color="black", weight=3]; 720[label="primRemInt (Neg vuz750) (Neg Zero)",fontsize=16,color="black",shape="box"];720 -> 741[label="",style="solid", color="black", weight=3]; 1145[label="vuz970",fontsize=16,color="green",shape="box"];1146[label="vuz980",fontsize=16,color="green",shape="box"];1147[label="absReal1 vuz107 (not (compare vuz107 (fromInt (Pos Zero)) == LT))",fontsize=16,color="burlywood",shape="box"];1571[label="vuz107/Integer vuz1070",fontsize=10,color="white",style="solid",shape="box"];1147 -> 1571[label="",style="solid", color="burlywood", weight=9]; 1571 -> 1160[label="",style="solid", color="burlywood", weight=3]; 1157 -> 1169[label="",style="dashed", color="red", weight=0]; 1157[label="gcd0Gcd'1 (vuz104 `rem` vuz102 == fromInt (Pos Zero)) vuz102 (vuz104 `rem` vuz102)",fontsize=16,color="magenta"];1157 -> 1170[label="",style="dashed", color="magenta", weight=3]; 1158[label="primQuotInt (Pos vuz510) vuz1040",fontsize=16,color="burlywood",shape="box"];1572[label="vuz1040/Pos vuz10400",fontsize=10,color="white",style="solid",shape="box"];1158 -> 1572[label="",style="solid", color="burlywood", weight=9]; 1572 -> 1171[label="",style="solid", color="burlywood", weight=3]; 1573[label="vuz1040/Neg vuz10400",fontsize=10,color="white",style="solid",shape="box"];1158 -> 1573[label="",style="solid", color="burlywood", weight=9]; 1573 -> 1172[label="",style="solid", color="burlywood", weight=3]; 1159[label="primQuotInt (Neg vuz510) vuz1040",fontsize=16,color="burlywood",shape="box"];1574[label="vuz1040/Pos vuz10400",fontsize=10,color="white",style="solid",shape="box"];1159 -> 1574[label="",style="solid", color="burlywood", weight=9]; 1574 -> 1173[label="",style="solid", color="burlywood", weight=3]; 1575[label="vuz1040/Neg vuz10400",fontsize=10,color="white",style="solid",shape="box"];1159 -> 1575[label="",style="solid", color="burlywood", weight=9]; 1575 -> 1174[label="",style="solid", color="burlywood", weight=3]; 730[label="absReal1 (Pos (Succ vuz3300)) (not False)",fontsize=16,color="black",shape="box"];730 -> 751[label="",style="solid", color="black", weight=3]; 731[label="absReal1 (Pos Zero) True",fontsize=16,color="black",shape="box"];731 -> 752[label="",style="solid", color="black", weight=3]; 732[label="absReal1 (Neg (Succ vuz3300)) False",fontsize=16,color="black",shape="box"];732 -> 753[label="",style="solid", color="black", weight=3]; 733[label="absReal1 (Neg Zero) True",fontsize=16,color="black",shape="box"];733 -> 754[label="",style="solid", color="black", weight=3]; 734[label="Pos (primModNatS vuz750 (Succ vuz7400))",fontsize=16,color="green",shape="box"];734 -> 755[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 -> 756[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 -> 757[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 -> 758[label="",style="dashed", color="green", weight=3]; 741 -> 471[label="",style="dashed", color="red", weight=0]; 741[label="error []",fontsize=16,color="magenta"];1160[label="absReal1 (Integer vuz1070) (not (compare (Integer vuz1070) (fromInt (Pos Zero)) == LT))",fontsize=16,color="black",shape="box"];1160 -> 1175[label="",style="solid", color="black", weight=3]; 1170 -> 1060[label="",style="dashed", color="red", weight=0]; 1170[label="vuz104 `rem` vuz102 == fromInt (Pos Zero)",fontsize=16,color="magenta"];1170 -> 1176[label="",style="dashed", color="magenta", weight=3]; 1169[label="gcd0Gcd'1 vuz108 vuz102 (vuz104 `rem` vuz102)",fontsize=16,color="burlywood",shape="triangle"];1576[label="vuz108/False",fontsize=10,color="white",style="solid",shape="box"];1169 -> 1576[label="",style="solid", color="burlywood", weight=9]; 1576 -> 1177[label="",style="solid", color="burlywood", weight=3]; 1577[label="vuz108/True",fontsize=10,color="white",style="solid",shape="box"];1169 -> 1577[label="",style="solid", color="burlywood", weight=9]; 1577 -> 1178[label="",style="solid", color="burlywood", weight=3]; 1171[label="primQuotInt (Pos vuz510) (Pos vuz10400)",fontsize=16,color="burlywood",shape="box"];1578[label="vuz10400/Succ vuz104000",fontsize=10,color="white",style="solid",shape="box"];1171 -> 1578[label="",style="solid", color="burlywood", weight=9]; 1578 -> 1187[label="",style="solid", color="burlywood", weight=3]; 1579[label="vuz10400/Zero",fontsize=10,color="white",style="solid",shape="box"];1171 -> 1579[label="",style="solid", color="burlywood", weight=9]; 1579 -> 1188[label="",style="solid", color="burlywood", weight=3]; 1172[label="primQuotInt (Pos vuz510) (Neg vuz10400)",fontsize=16,color="burlywood",shape="box"];1580[label="vuz10400/Succ vuz104000",fontsize=10,color="white",style="solid",shape="box"];1172 -> 1580[label="",style="solid", color="burlywood", weight=9]; 1580 -> 1189[label="",style="solid", color="burlywood", weight=3]; 1581[label="vuz10400/Zero",fontsize=10,color="white",style="solid",shape="box"];1172 -> 1581[label="",style="solid", color="burlywood", weight=9]; 1581 -> 1190[label="",style="solid", color="burlywood", weight=3]; 1173[label="primQuotInt (Neg vuz510) (Pos vuz10400)",fontsize=16,color="burlywood",shape="box"];1582[label="vuz10400/Succ vuz104000",fontsize=10,color="white",style="solid",shape="box"];1173 -> 1582[label="",style="solid", color="burlywood", weight=9]; 1582 -> 1191[label="",style="solid", color="burlywood", weight=3]; 1583[label="vuz10400/Zero",fontsize=10,color="white",style="solid",shape="box"];1173 -> 1583[label="",style="solid", color="burlywood", weight=9]; 1583 -> 1192[label="",style="solid", color="burlywood", weight=3]; 1174[label="primQuotInt (Neg vuz510) (Neg vuz10400)",fontsize=16,color="burlywood",shape="box"];1584[label="vuz10400/Succ vuz104000",fontsize=10,color="white",style="solid",shape="box"];1174 -> 1584[label="",style="solid", color="burlywood", weight=9]; 1584 -> 1193[label="",style="solid", color="burlywood", weight=3]; 1585[label="vuz10400/Zero",fontsize=10,color="white",style="solid",shape="box"];1174 -> 1585[label="",style="solid", color="burlywood", weight=9]; 1585 -> 1194[label="",style="solid", color="burlywood", weight=3]; 751[label="absReal1 (Pos (Succ vuz3300)) True",fontsize=16,color="black",shape="box"];751 -> 770[label="",style="solid", color="black", weight=3]; 752[label="Pos Zero",fontsize=16,color="green",shape="box"];753[label="absReal0 (Neg (Succ vuz3300)) otherwise",fontsize=16,color="black",shape="box"];753 -> 771[label="",style="solid", color="black", weight=3]; 754[label="Neg Zero",fontsize=16,color="green",shape="box"];755[label="primModNatS vuz750 (Succ vuz7400)",fontsize=16,color="burlywood",shape="triangle"];1586[label="vuz750/Succ vuz7500",fontsize=10,color="white",style="solid",shape="box"];755 -> 1586[label="",style="solid", color="burlywood", weight=9]; 1586 -> 772[label="",style="solid", color="burlywood", weight=3]; 1587[label="vuz750/Zero",fontsize=10,color="white",style="solid",shape="box"];755 -> 1587[label="",style="solid", color="burlywood", weight=9]; 1587 -> 773[label="",style="solid", color="burlywood", weight=3]; 756 -> 755[label="",style="dashed", color="red", weight=0]; 756[label="primModNatS vuz750 (Succ vuz7400)",fontsize=16,color="magenta"];756 -> 774[label="",style="dashed", color="magenta", weight=3]; 757 -> 755[label="",style="dashed", color="red", weight=0]; 757[label="primModNatS vuz750 (Succ vuz7400)",fontsize=16,color="magenta"];757 -> 775[label="",style="dashed", color="magenta", weight=3]; 758 -> 755[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]; 758 -> 777[label="",style="dashed", color="magenta", weight=3]; 1175[label="absReal1 (Integer vuz1070) (not (compare (Integer vuz1070) (Integer (Pos Zero)) == LT))",fontsize=16,color="black",shape="box"];1175 -> 1195[label="",style="solid", color="black", weight=3]; 1176[label="vuz104 `rem` vuz102",fontsize=16,color="burlywood",shape="triangle"];1588[label="vuz104/Integer vuz1040",fontsize=10,color="white",style="solid",shape="box"];1176 -> 1588[label="",style="solid", color="burlywood", weight=9]; 1588 -> 1196[label="",style="solid", color="burlywood", weight=3]; 1177[label="gcd0Gcd'1 False vuz102 (vuz104 `rem` vuz102)",fontsize=16,color="black",shape="box"];1177 -> 1197[label="",style="solid", color="black", weight=3]; 1178[label="gcd0Gcd'1 True vuz102 (vuz104 `rem` vuz102)",fontsize=16,color="black",shape="box"];1178 -> 1198[label="",style="solid", color="black", weight=3]; 1187[label="primQuotInt (Pos vuz510) (Pos (Succ vuz104000))",fontsize=16,color="black",shape="box"];1187 -> 1204[label="",style="solid", color="black", weight=3]; 1188[label="primQuotInt (Pos vuz510) (Pos Zero)",fontsize=16,color="black",shape="box"];1188 -> 1205[label="",style="solid", color="black", weight=3]; 1189[label="primQuotInt (Pos vuz510) (Neg (Succ vuz104000))",fontsize=16,color="black",shape="box"];1189 -> 1206[label="",style="solid", color="black", weight=3]; 1190[label="primQuotInt (Pos vuz510) (Neg Zero)",fontsize=16,color="black",shape="box"];1190 -> 1207[label="",style="solid", color="black", weight=3]; 1191[label="primQuotInt (Neg vuz510) (Pos (Succ vuz104000))",fontsize=16,color="black",shape="box"];1191 -> 1208[label="",style="solid", color="black", weight=3]; 1192[label="primQuotInt (Neg vuz510) (Pos Zero)",fontsize=16,color="black",shape="box"];1192 -> 1209[label="",style="solid", color="black", weight=3]; 1193[label="primQuotInt (Neg vuz510) (Neg (Succ vuz104000))",fontsize=16,color="black",shape="box"];1193 -> 1210[label="",style="solid", color="black", weight=3]; 1194[label="primQuotInt (Neg vuz510) (Neg Zero)",fontsize=16,color="black",shape="box"];1194 -> 1211[label="",style="solid", color="black", weight=3]; 770[label="Pos (Succ vuz3300)",fontsize=16,color="green",shape="box"];771[label="absReal0 (Neg (Succ vuz3300)) True",fontsize=16,color="black",shape="box"];771 -> 790[label="",style="solid", color="black", weight=3]; 772[label="primModNatS (Succ vuz7500) (Succ vuz7400)",fontsize=16,color="black",shape="box"];772 -> 791[label="",style="solid", color="black", weight=3]; 773[label="primModNatS Zero (Succ vuz7400)",fontsize=16,color="black",shape="box"];773 -> 792[label="",style="solid", color="black", weight=3]; 774[label="vuz7400",fontsize=16,color="green",shape="box"];775[label="vuz750",fontsize=16,color="green",shape="box"];776[label="vuz7400",fontsize=16,color="green",shape="box"];777[label="vuz750",fontsize=16,color="green",shape="box"];1195[label="absReal1 (Integer vuz1070) (not (primCmpInt vuz1070 (Pos Zero) == LT))",fontsize=16,color="burlywood",shape="box"];1589[label="vuz1070/Pos vuz10700",fontsize=10,color="white",style="solid",shape="box"];1195 -> 1589[label="",style="solid", color="burlywood", weight=9]; 1589 -> 1212[label="",style="solid", color="burlywood", weight=3]; 1590[label="vuz1070/Neg vuz10700",fontsize=10,color="white",style="solid",shape="box"];1195 -> 1590[label="",style="solid", color="burlywood", weight=9]; 1590 -> 1213[label="",style="solid", color="burlywood", weight=3]; 1196[label="Integer vuz1040 `rem` vuz102",fontsize=16,color="burlywood",shape="box"];1591[label="vuz102/Integer vuz1020",fontsize=10,color="white",style="solid",shape="box"];1196 -> 1591[label="",style="solid", color="burlywood", weight=9]; 1591 -> 1214[label="",style="solid", color="burlywood", weight=3]; 1197 -> 1215[label="",style="dashed", color="red", weight=0]; 1197[label="gcd0Gcd'0 vuz102 (vuz104 `rem` vuz102)",fontsize=16,color="magenta"];1197 -> 1216[label="",style="dashed", color="magenta", weight=3]; 1198[label="vuz102",fontsize=16,color="green",shape="box"];1204[label="Pos (primDivNatS vuz510 (Succ vuz104000))",fontsize=16,color="green",shape="box"];1204 -> 1217[label="",style="dashed", color="green", weight=3]; 1205 -> 471[label="",style="dashed", color="red", weight=0]; 1205[label="error []",fontsize=16,color="magenta"];1206[label="Neg (primDivNatS vuz510 (Succ vuz104000))",fontsize=16,color="green",shape="box"];1206 -> 1218[label="",style="dashed", color="green", weight=3]; 1207 -> 471[label="",style="dashed", color="red", weight=0]; 1207[label="error []",fontsize=16,color="magenta"];1208[label="Neg (primDivNatS vuz510 (Succ vuz104000))",fontsize=16,color="green",shape="box"];1208 -> 1219[label="",style="dashed", color="green", weight=3]; 1209 -> 471[label="",style="dashed", color="red", weight=0]; 1209[label="error []",fontsize=16,color="magenta"];1210[label="Pos (primDivNatS vuz510 (Succ vuz104000))",fontsize=16,color="green",shape="box"];1210 -> 1220[label="",style="dashed", color="green", weight=3]; 1211 -> 471[label="",style="dashed", color="red", weight=0]; 1211[label="error []",fontsize=16,color="magenta"];790 -> 60[label="",style="dashed", color="red", weight=0]; 790[label="`negate` Neg (Succ vuz3300)",fontsize=16,color="magenta"];790 -> 810[label="",style="dashed", color="magenta", weight=3]; 791[label="primModNatS0 vuz7500 vuz7400 (primGEqNatS vuz7500 vuz7400)",fontsize=16,color="burlywood",shape="box"];1592[label="vuz7500/Succ vuz75000",fontsize=10,color="white",style="solid",shape="box"];791 -> 1592[label="",style="solid", color="burlywood", weight=9]; 1592 -> 811[label="",style="solid", color="burlywood", weight=3]; 1593[label="vuz7500/Zero",fontsize=10,color="white",style="solid",shape="box"];791 -> 1593[label="",style="solid", color="burlywood", weight=9]; 1593 -> 812[label="",style="solid", color="burlywood", weight=3]; 792[label="Zero",fontsize=16,color="green",shape="box"];1212[label="absReal1 (Integer (Pos vuz10700)) (not (primCmpInt (Pos vuz10700) (Pos Zero) == LT))",fontsize=16,color="burlywood",shape="box"];1594[label="vuz10700/Succ vuz107000",fontsize=10,color="white",style="solid",shape="box"];1212 -> 1594[label="",style="solid", color="burlywood", weight=9]; 1594 -> 1221[label="",style="solid", color="burlywood", weight=3]; 1595[label="vuz10700/Zero",fontsize=10,color="white",style="solid",shape="box"];1212 -> 1595[label="",style="solid", color="burlywood", weight=9]; 1595 -> 1222[label="",style="solid", color="burlywood", weight=3]; 1213[label="absReal1 (Integer (Neg vuz10700)) (not (primCmpInt (Neg vuz10700) (Pos Zero) == LT))",fontsize=16,color="burlywood",shape="box"];1596[label="vuz10700/Succ vuz107000",fontsize=10,color="white",style="solid",shape="box"];1213 -> 1596[label="",style="solid", color="burlywood", weight=9]; 1596 -> 1223[label="",style="solid", color="burlywood", weight=3]; 1597[label="vuz10700/Zero",fontsize=10,color="white",style="solid",shape="box"];1213 -> 1597[label="",style="solid", color="burlywood", weight=9]; 1597 -> 1224[label="",style="solid", color="burlywood", weight=3]; 1214[label="Integer vuz1040 `rem` Integer vuz1020",fontsize=16,color="black",shape="box"];1214 -> 1225[label="",style="solid", color="black", weight=3]; 1216 -> 1176[label="",style="dashed", color="red", weight=0]; 1216[label="vuz104 `rem` vuz102",fontsize=16,color="magenta"];1215[label="gcd0Gcd'0 vuz102 vuz109",fontsize=16,color="black",shape="triangle"];1215 -> 1226[label="",style="solid", color="black", weight=3]; 1217 -> 488[label="",style="dashed", color="red", weight=0]; 1217[label="primDivNatS vuz510 (Succ vuz104000)",fontsize=16,color="magenta"];1217 -> 1235[label="",style="dashed", color="magenta", weight=3]; 1217 -> 1236[label="",style="dashed", color="magenta", weight=3]; 1218 -> 488[label="",style="dashed", color="red", weight=0]; 1218[label="primDivNatS vuz510 (Succ vuz104000)",fontsize=16,color="magenta"];1218 -> 1237[label="",style="dashed", color="magenta", weight=3]; 1218 -> 1238[label="",style="dashed", color="magenta", weight=3]; 1219 -> 488[label="",style="dashed", color="red", weight=0]; 1219[label="primDivNatS vuz510 (Succ vuz104000)",fontsize=16,color="magenta"];1219 -> 1239[label="",style="dashed", color="magenta", weight=3]; 1219 -> 1240[label="",style="dashed", color="magenta", weight=3]; 1220 -> 488[label="",style="dashed", color="red", weight=0]; 1220[label="primDivNatS vuz510 (Succ vuz104000)",fontsize=16,color="magenta"];1220 -> 1241[label="",style="dashed", color="magenta", weight=3]; 1220 -> 1242[label="",style="dashed", color="magenta", weight=3]; 810[label="Neg (Succ vuz3300)",fontsize=16,color="green",shape="box"];811[label="primModNatS0 (Succ vuz75000) vuz7400 (primGEqNatS (Succ vuz75000) vuz7400)",fontsize=16,color="burlywood",shape="box"];1598[label="vuz7400/Succ vuz74000",fontsize=10,color="white",style="solid",shape="box"];811 -> 1598[label="",style="solid", color="burlywood", weight=9]; 1598 -> 842[label="",style="solid", color="burlywood", weight=3]; 1599[label="vuz7400/Zero",fontsize=10,color="white",style="solid",shape="box"];811 -> 1599[label="",style="solid", color="burlywood", weight=9]; 1599 -> 843[label="",style="solid", color="burlywood", weight=3]; 812[label="primModNatS0 Zero vuz7400 (primGEqNatS Zero vuz7400)",fontsize=16,color="burlywood",shape="box"];1600[label="vuz7400/Succ vuz74000",fontsize=10,color="white",style="solid",shape="box"];812 -> 1600[label="",style="solid", color="burlywood", weight=9]; 1600 -> 844[label="",style="solid", color="burlywood", weight=3]; 1601[label="vuz7400/Zero",fontsize=10,color="white",style="solid",shape="box"];812 -> 1601[label="",style="solid", color="burlywood", weight=9]; 1601 -> 845[label="",style="solid", color="burlywood", weight=3]; 1221[label="absReal1 (Integer (Pos (Succ vuz107000))) (not (primCmpInt (Pos (Succ vuz107000)) (Pos Zero) == LT))",fontsize=16,color="black",shape="box"];1221 -> 1243[label="",style="solid", color="black", weight=3]; 1222[label="absReal1 (Integer (Pos Zero)) (not (primCmpInt (Pos Zero) (Pos Zero) == LT))",fontsize=16,color="black",shape="box"];1222 -> 1244[label="",style="solid", color="black", weight=3]; 1223[label="absReal1 (Integer (Neg (Succ vuz107000))) (not (primCmpInt (Neg (Succ vuz107000)) (Pos Zero) == LT))",fontsize=16,color="black",shape="box"];1223 -> 1245[label="",style="solid", color="black", weight=3]; 1224[label="absReal1 (Integer (Neg Zero)) (not (primCmpInt (Neg Zero) (Pos Zero) == LT))",fontsize=16,color="black",shape="box"];1224 -> 1246[label="",style="solid", color="black", weight=3]; 1225[label="Integer (primRemInt vuz1040 vuz1020)",fontsize=16,color="green",shape="box"];1225 -> 1247[label="",style="dashed", color="green", weight=3]; 1226 -> 1122[label="",style="dashed", color="red", weight=0]; 1226[label="gcd0Gcd' vuz109 (vuz102 `rem` vuz109)",fontsize=16,color="magenta"];1226 -> 1248[label="",style="dashed", color="magenta", weight=3]; 1226 -> 1249[label="",style="dashed", color="magenta", weight=3]; 1235[label="vuz510",fontsize=16,color="green",shape="box"];1236[label="vuz104000",fontsize=16,color="green",shape="box"];1237[label="vuz510",fontsize=16,color="green",shape="box"];1238[label="vuz104000",fontsize=16,color="green",shape="box"];1239[label="vuz510",fontsize=16,color="green",shape="box"];1240[label="vuz104000",fontsize=16,color="green",shape="box"];1241[label="vuz510",fontsize=16,color="green",shape="box"];1242[label="vuz104000",fontsize=16,color="green",shape="box"];842[label="primModNatS0 (Succ vuz75000) (Succ vuz74000) (primGEqNatS (Succ vuz75000) (Succ vuz74000))",fontsize=16,color="black",shape="box"];842 -> 854[label="",style="solid", color="black", weight=3]; 843[label="primModNatS0 (Succ vuz75000) Zero (primGEqNatS (Succ vuz75000) Zero)",fontsize=16,color="black",shape="box"];843 -> 855[label="",style="solid", color="black", weight=3]; 844[label="primModNatS0 Zero (Succ vuz74000) (primGEqNatS Zero (Succ vuz74000))",fontsize=16,color="black",shape="box"];844 -> 856[label="",style="solid", color="black", weight=3]; 845[label="primModNatS0 Zero Zero (primGEqNatS Zero Zero)",fontsize=16,color="black",shape="box"];845 -> 857[label="",style="solid", color="black", weight=3]; 1243[label="absReal1 (Integer (Pos (Succ vuz107000))) (not (primCmpNat (Succ vuz107000) Zero == LT))",fontsize=16,color="black",shape="box"];1243 -> 1258[label="",style="solid", color="black", weight=3]; 1244[label="absReal1 (Integer (Pos Zero)) (not (EQ == LT))",fontsize=16,color="black",shape="box"];1244 -> 1259[label="",style="solid", color="black", weight=3]; 1245[label="absReal1 (Integer (Neg (Succ vuz107000))) (not (LT == LT))",fontsize=16,color="black",shape="box"];1245 -> 1260[label="",style="solid", color="black", weight=3]; 1246[label="absReal1 (Integer (Neg Zero)) (not (EQ == LT))",fontsize=16,color="black",shape="box"];1246 -> 1261[label="",style="solid", color="black", weight=3]; 1247 -> 646[label="",style="dashed", color="red", weight=0]; 1247[label="primRemInt vuz1040 vuz1020",fontsize=16,color="magenta"];1247 -> 1262[label="",style="dashed", color="magenta", weight=3]; 1247 -> 1263[label="",style="dashed", color="magenta", weight=3]; 1248[label="vuz109",fontsize=16,color="green",shape="box"];1249[label="vuz102",fontsize=16,color="green",shape="box"];854 -> 1356[label="",style="dashed", color="red", weight=0]; 854[label="primModNatS0 (Succ vuz75000) (Succ vuz74000) (primGEqNatS vuz75000 vuz74000)",fontsize=16,color="magenta"];854 -> 1357[label="",style="dashed", color="magenta", weight=3]; 854 -> 1358[label="",style="dashed", color="magenta", weight=3]; 854 -> 1359[label="",style="dashed", color="magenta", weight=3]; 854 -> 1360[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]; 1258[label="absReal1 (Integer (Pos (Succ vuz107000))) (not (GT == LT))",fontsize=16,color="black",shape="box"];1258 -> 1269[label="",style="solid", color="black", weight=3]; 1259[label="absReal1 (Integer (Pos Zero)) (not False)",fontsize=16,color="black",shape="box"];1259 -> 1270[label="",style="solid", color="black", weight=3]; 1260[label="absReal1 (Integer (Neg (Succ vuz107000))) (not True)",fontsize=16,color="black",shape="box"];1260 -> 1271[label="",style="solid", color="black", weight=3]; 1261[label="absReal1 (Integer (Neg Zero)) (not False)",fontsize=16,color="black",shape="box"];1261 -> 1272[label="",style="solid", color="black", weight=3]; 1262[label="vuz1040",fontsize=16,color="green",shape="box"];1263[label="vuz1020",fontsize=16,color="green",shape="box"];1357[label="vuz74000",fontsize=16,color="green",shape="box"];1358[label="vuz74000",fontsize=16,color="green",shape="box"];1359[label="vuz75000",fontsize=16,color="green",shape="box"];1360[label="vuz75000",fontsize=16,color="green",shape="box"];1356[label="primModNatS0 (Succ vuz130) (Succ vuz131) (primGEqNatS vuz132 vuz133)",fontsize=16,color="burlywood",shape="triangle"];1602[label="vuz132/Succ vuz1320",fontsize=10,color="white",style="solid",shape="box"];1356 -> 1602[label="",style="solid", color="burlywood", weight=9]; 1602 -> 1393[label="",style="solid", color="burlywood", weight=3]; 1603[label="vuz132/Zero",fontsize=10,color="white",style="solid",shape="box"];1356 -> 1603[label="",style="solid", color="burlywood", weight=9]; 1603 -> 1394[label="",style="solid", color="burlywood", weight=3]; 868 -> 755[label="",style="dashed", color="red", weight=0]; 868[label="primModNatS (primMinusNatS (Succ vuz75000) Zero) (Succ Zero)",fontsize=16,color="magenta"];868 -> 910[label="",style="dashed", color="magenta", weight=3]; 868 -> 911[label="",style="dashed", color="magenta", weight=3]; 869[label="Succ Zero",fontsize=16,color="green",shape="box"];870 -> 755[label="",style="dashed", color="red", weight=0]; 870[label="primModNatS (primMinusNatS Zero Zero) (Succ Zero)",fontsize=16,color="magenta"];870 -> 912[label="",style="dashed", color="magenta", weight=3]; 870 -> 913[label="",style="dashed", color="magenta", weight=3]; 1269[label="absReal1 (Integer (Pos (Succ vuz107000))) (not False)",fontsize=16,color="black",shape="box"];1269 -> 1275[label="",style="solid", color="black", weight=3]; 1270[label="absReal1 (Integer (Pos Zero)) True",fontsize=16,color="black",shape="box"];1270 -> 1276[label="",style="solid", color="black", weight=3]; 1271[label="absReal1 (Integer (Neg (Succ vuz107000))) False",fontsize=16,color="black",shape="box"];1271 -> 1277[label="",style="solid", color="black", weight=3]; 1272[label="absReal1 (Integer (Neg Zero)) True",fontsize=16,color="black",shape="box"];1272 -> 1278[label="",style="solid", color="black", weight=3]; 1393[label="primModNatS0 (Succ vuz130) (Succ vuz131) (primGEqNatS (Succ vuz1320) vuz133)",fontsize=16,color="burlywood",shape="box"];1604[label="vuz133/Succ vuz1330",fontsize=10,color="white",style="solid",shape="box"];1393 -> 1604[label="",style="solid", color="burlywood", weight=9]; 1604 -> 1395[label="",style="solid", color="burlywood", weight=3]; 1605[label="vuz133/Zero",fontsize=10,color="white",style="solid",shape="box"];1393 -> 1605[label="",style="solid", color="burlywood", weight=9]; 1605 -> 1396[label="",style="solid", color="burlywood", weight=3]; 1394[label="primModNatS0 (Succ vuz130) (Succ vuz131) (primGEqNatS Zero vuz133)",fontsize=16,color="burlywood",shape="box"];1606[label="vuz133/Succ vuz1330",fontsize=10,color="white",style="solid",shape="box"];1394 -> 1606[label="",style="solid", color="burlywood", weight=9]; 1606 -> 1397[label="",style="solid", color="burlywood", weight=3]; 1607[label="vuz133/Zero",fontsize=10,color="white",style="solid",shape="box"];1394 -> 1607[label="",style="solid", color="burlywood", weight=9]; 1607 -> 1398[label="",style="solid", color="burlywood", weight=3]; 910[label="Zero",fontsize=16,color="green",shape="box"];911 -> 579[label="",style="dashed", color="red", weight=0]; 911[label="primMinusNatS (Succ vuz75000) Zero",fontsize=16,color="magenta"];911 -> 925[label="",style="dashed", color="magenta", weight=3]; 912[label="Zero",fontsize=16,color="green",shape="box"];913 -> 581[label="",style="dashed", color="red", weight=0]; 913[label="primMinusNatS Zero Zero",fontsize=16,color="magenta"];1275[label="absReal1 (Integer (Pos (Succ vuz107000))) True",fontsize=16,color="black",shape="box"];1275 -> 1285[label="",style="solid", color="black", weight=3]; 1276[label="Integer (Pos Zero)",fontsize=16,color="green",shape="box"];1277[label="absReal0 (Integer (Neg (Succ vuz107000))) otherwise",fontsize=16,color="black",shape="box"];1277 -> 1286[label="",style="solid", color="black", weight=3]; 1278[label="Integer (Neg Zero)",fontsize=16,color="green",shape="box"];1395[label="primModNatS0 (Succ vuz130) (Succ vuz131) (primGEqNatS (Succ vuz1320) (Succ vuz1330))",fontsize=16,color="black",shape="box"];1395 -> 1399[label="",style="solid", color="black", weight=3]; 1396[label="primModNatS0 (Succ vuz130) (Succ vuz131) (primGEqNatS (Succ vuz1320) Zero)",fontsize=16,color="black",shape="box"];1396 -> 1400[label="",style="solid", color="black", weight=3]; 1397[label="primModNatS0 (Succ vuz130) (Succ vuz131) (primGEqNatS Zero (Succ vuz1330))",fontsize=16,color="black",shape="box"];1397 -> 1401[label="",style="solid", color="black", weight=3]; 1398[label="primModNatS0 (Succ vuz130) (Succ vuz131) (primGEqNatS Zero Zero)",fontsize=16,color="black",shape="box"];1398 -> 1402[label="",style="solid", color="black", weight=3]; 925[label="vuz75000",fontsize=16,color="green",shape="box"];1285[label="Integer (Pos (Succ vuz107000))",fontsize=16,color="green",shape="box"];1286[label="absReal0 (Integer (Neg (Succ vuz107000))) True",fontsize=16,color="black",shape="box"];1286 -> 1293[label="",style="solid", color="black", weight=3]; 1399 -> 1356[label="",style="dashed", color="red", weight=0]; 1399[label="primModNatS0 (Succ vuz130) (Succ vuz131) (primGEqNatS vuz1320 vuz1330)",fontsize=16,color="magenta"];1399 -> 1403[label="",style="dashed", color="magenta", weight=3]; 1399 -> 1404[label="",style="dashed", color="magenta", weight=3]; 1400[label="primModNatS0 (Succ vuz130) (Succ vuz131) True",fontsize=16,color="black",shape="triangle"];1400 -> 1405[label="",style="solid", color="black", weight=3]; 1401[label="primModNatS0 (Succ vuz130) (Succ vuz131) False",fontsize=16,color="black",shape="box"];1401 -> 1406[label="",style="solid", color="black", weight=3]; 1402 -> 1400[label="",style="dashed", color="red", weight=0]; 1402[label="primModNatS0 (Succ vuz130) (Succ vuz131) True",fontsize=16,color="magenta"];1293 -> 59[label="",style="dashed", color="red", weight=0]; 1293[label="`negate` Integer (Neg (Succ vuz107000))",fontsize=16,color="magenta"];1293 -> 1298[label="",style="dashed", color="magenta", weight=3]; 1403[label="vuz1330",fontsize=16,color="green",shape="box"];1404[label="vuz1320",fontsize=16,color="green",shape="box"];1405 -> 755[label="",style="dashed", color="red", weight=0]; 1405[label="primModNatS (primMinusNatS (Succ vuz130) (Succ vuz131)) (Succ (Succ vuz131))",fontsize=16,color="magenta"];1405 -> 1407[label="",style="dashed", color="magenta", weight=3]; 1405 -> 1408[label="",style="dashed", color="magenta", weight=3]; 1406[label="Succ (Succ vuz130)",fontsize=16,color="green",shape="box"];1298[label="Integer (Neg (Succ vuz107000))",fontsize=16,color="green",shape="box"];1407[label="Succ vuz131",fontsize=16,color="green",shape="box"];1408 -> 1041[label="",style="dashed", color="red", weight=0]; 1408[label="primMinusNatS (Succ vuz130) (Succ vuz131)",fontsize=16,color="magenta"];1408 -> 1409[label="",style="dashed", color="magenta", weight=3]; 1408 -> 1410[label="",style="dashed", color="magenta", weight=3]; 1409[label="Succ vuz130",fontsize=16,color="green",shape="box"];1410[label="Succ vuz131",fontsize=16,color="green",shape="box"];} ---------------------------------------- (890) Complex Obligation (AND) ---------------------------------------- (891) Obligation: Q DP problem: The TRS P consists of the following rules: new_primMinusNat(Succ(vuz400), Succ(vuz300), []) -> new_primMinusNat(vuz400, vuz300, []) R is empty. Q is empty. We have to consider all (P,Q,R)-chains. ---------------------------------------- (892) 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(vuz400), Succ(vuz300), []) -> new_primMinusNat(vuz400, vuz300, []) (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 ---------------------------------------- (893) YES ---------------------------------------- (894) Obligation: Q DP problem: P is empty. R is empty. Q is empty. We have to consider all (P,Q,R)-chains. ---------------------------------------- (895) PisEmptyProof (EQUIVALENT) The TRS P is empty. Hence, there is no (P,Q,R) chain. ---------------------------------------- (896) YES ---------------------------------------- (897) Obligation: Q DP problem: The TRS P consists of the following rules: new_primPlusNat(Succ(vuz400), Succ(vuz300), []) -> new_primPlusNat(vuz400, vuz300, []) R is empty. Q is empty. We have to consider all (P,Q,R)-chains. ---------------------------------------- (898) 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(vuz400), Succ(vuz300), []) -> new_primPlusNat(vuz400, vuz300, []) (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 ---------------------------------------- (899) YES