/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: 48fb2092695e11cc9f56e44b17a92a5f88ffb256 marcel 20180622 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, 12 ms] (10) HASKELL (11) Narrow [SOUND, 0 ms] (12) AND (13) QDP (14) DependencyGraphProof [EQUIVALENT, 0 ms] (15) AND (16) QDP (17) QDPOrderProof [EQUIVALENT, 27 ms] (18) QDP (19) DependencyGraphProof [EQUIVALENT, 0 ms] (20) QDP (21) QDPSizeChangeProof [EQUIVALENT, 0 ms] (22) YES (23) QDP (24) MRRProof [EQUIVALENT, 0 ms] (25) QDP (26) PisEmptyProof [EQUIVALENT, 0 ms] (27) YES (28) QDP (29) TransformationProof [EQUIVALENT, 11 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, 1 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, 592 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, 591 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, 0 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) DependencyGraphProof [EQUIVALENT, 0 ms] (419) QDP (420) TransformationProof [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) DependencyGraphProof [EQUIVALENT, 0 ms] (524) QDP (525) TransformationProof [EQUIVALENT, 0 ms] (526) QDP (527) TransformationProof [EQUIVALENT, 0 ms] (528) QDP (529) TransformationProof [EQUIVALENT, 0 ms] (530) QDP (531) TransformationProof [EQUIVALENT, 0 ms] (532) QDP (533) TransformationProof [EQUIVALENT, 0 ms] (534) QDP (535) TransformationProof [EQUIVALENT, 0 ms] (536) QDP (537) TransformationProof [EQUIVALENT, 0 ms] (538) QDP (539) DependencyGraphProof [EQUIVALENT, 0 ms] (540) QDP (541) TransformationProof [EQUIVALENT, 0 ms] (542) QDP (543) TransformationProof [EQUIVALENT, 0 ms] (544) QDP (545) 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) InductionCalculusProof [EQUIVALENT, 0 ms] (642) QDP (643) QDP (644) UsableRulesProof [EQUIVALENT, 0 ms] (645) QDP (646) TransformationProof [EQUIVALENT, 0 ms] (647) QDP (648) TransformationProof [EQUIVALENT, 0 ms] (649) QDP (650) TransformationProof [EQUIVALENT, 0 ms] (651) QDP (652) TransformationProof [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, 1 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, 83 ms] (872) QDP (873) QDPOrderProof [EQUIVALENT, 97 ms] (874) QDP (875) MNOCProof [EQUIVALENT, 0 ms] (876) QDP (877) InductionCalculusProof [EQUIVALENT, 0 ms] (878) QDP (879) QDP (880) QDPSizeChangeProof [EQUIVALENT, 0 ms] (881) YES (882) QDP (883) QDPSizeChangeProof [EQUIVALENT, 0 ms] (884) YES (885) QDP (886) QDPSizeChangeProof [EQUIVALENT, 0 ms] (887) YES (888) QDP (889) QDPSizeChangeProof [EQUIVALENT, 0 ms] (890) YES (891) Narrow [COMPLETE, 0 ms] (892) AND (893) QDP (894) QDPSizeChangeProof [EQUIVALENT, 0 ms] (895) YES (896) QDP (897) PisEmptyProof [EQUIVALENT, 0 ms] (898) YES (899) QDP (900) QDPSizeChangeProof [EQUIVALENT, 0 ms] (901) YES ---------------------------------------- (0) Obligation: mainModule Main module Main where { import qualified Prelude; } ---------------------------------------- (1) IFR (EQUIVALENT) If Reductions: The following If expression "if primGEqNatS x y then Succ (primDivNatS (primMinusNatS x y) (Succ y)) else Zero" is transformed to "primDivNatS0 x y True = Succ (primDivNatS (primMinusNatS x y) (Succ y)); primDivNatS0 x y False = Zero; " The following If expression "if primGEqNatS x y then primModNatS (primMinusNatS x y) (Succ y) else Succ x" is transformed to "primModNatS0 x y True = primModNatS (primMinusNatS x y) (Succ y); primModNatS0 x y False = Succ x; " ---------------------------------------- (2) Obligation: mainModule Main module Main where { import qualified Prelude; } ---------------------------------------- (3) BR (EQUIVALENT) Replaced joker patterns by fresh variables and removed binding patterns. ---------------------------------------- (4) Obligation: mainModule Main module Main where { import qualified Prelude; } ---------------------------------------- (5) COR (EQUIVALENT) Cond Reductions: The following Function with conditions "absReal x|x >= 0x|otherwise`negate` x; " is transformed to "absReal x = absReal2 x; " "absReal0 x True = `negate` x; " "absReal1 x True = x; absReal1 x False = absReal0 x otherwise; " "absReal2 x = absReal1 x (x >= 0); " The following Function with conditions "gcd' x 0 = x; gcd' x y = gcd' y (x `rem` y); " is transformed to "gcd' x xz = gcd'2 x xz; gcd' x y = gcd'0 x y; " "gcd'0 x y = gcd' y (x `rem` y); " "gcd'1 True x xz = x; gcd'1 yu yv yw = gcd'0 yv yw; " "gcd'2 x xz = gcd'1 (xz == 0) x xz; gcd'2 yx yy = gcd'0 yx yy; " The following Function with conditions "gcd 0 0 = error []; gcd x y = gcd' (abs x) (abs y) where { gcd' x 0 = x; gcd' x y = gcd' y (x `rem` y); } ; " is transformed to "gcd yz zu = gcd3 yz zu; gcd x y = gcd0 x y; " "gcd0 x y = gcd' (abs x) (abs y) where { gcd' x xz = gcd'2 x xz; gcd' x y = gcd'0 x y; ; gcd'0 x y = gcd' y (x `rem` y); ; gcd'1 True x xz = x; gcd'1 yu yv yw = gcd'0 yv yw; ; gcd'2 x xz = gcd'1 (xz == 0) x xz; gcd'2 yx yy = gcd'0 yx yy; } ; " "gcd1 True yz zu = error []; gcd1 zv zw zx = gcd0 zw zx; " "gcd2 True yz zu = gcd1 (zu == 0) yz zu; gcd2 zy zz vuu = gcd0 zz vuu; " "gcd3 yz zu = gcd2 (yz == 0) yz zu; gcd3 vuv vuw = gcd0 vuv vuw; " The following Function with conditions "undefined |Falseundefined; " is transformed to "undefined = undefined1; " "undefined0 True = undefined; " "undefined1 = undefined0 False; " The following Function with conditions "reduce x y|y == 0error []|otherwisex `quot` d :% (y `quot` d) where { d = gcd x y; } ; " is transformed to "reduce x y = reduce2 x y; " "reduce2 x y = reduce1 x y (y == 0) where { d = gcd x y; ; reduce0 x y True = x `quot` d :% (y `quot` d); ; reduce1 x y True = error []; reduce1 x y False = reduce0 x y otherwise; } ; " ---------------------------------------- (6) Obligation: mainModule Main module Main where { import qualified Prelude; } ---------------------------------------- (7) LetRed (EQUIVALENT) Let/Where Reductions: The bindings of the following Let/Where expression "gcd' (abs x) (abs y) where { gcd' x xz = gcd'2 x xz; gcd' x y = gcd'0 x y; ; gcd'0 x y = gcd' y (x `rem` y); ; gcd'1 True x xz = x; gcd'1 yu yv yw = gcd'0 yv yw; ; gcd'2 x xz = gcd'1 (xz == 0) x xz; gcd'2 yx yy = gcd'0 yx yy; } " are unpacked to the following functions on top level "gcd0Gcd'0 x y = gcd0Gcd' y (x `rem` y); " "gcd0Gcd' x xz = gcd0Gcd'2 x xz; gcd0Gcd' x y = gcd0Gcd'0 x y; " "gcd0Gcd'2 x xz = gcd0Gcd'1 (xz == 0) x xz; gcd0Gcd'2 yx yy = gcd0Gcd'0 yx yy; " "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 "reduce2Reduce1 vux vuy x y True = error []; reduce2Reduce1 vux vuy x y False = reduce2Reduce0 vux vuy x y otherwise; " "reduce2D vux vuy = gcd vux vuy; " "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="(-)",fontsize=16,color="grey",shape="box"];1 -> 3[label="",style="dashed", color="grey", weight=3]; 3[label="(-) vuz3",fontsize=16,color="grey",shape="box"];3 -> 4[label="",style="dashed", color="grey", weight=3]; 4[label="(-) vuz3 vuz4",fontsize=16,color="blue",shape="box"];1409[label="- :: Double -> Double -> Double",fontsize=10,color="white",style="solid",shape="box"];4 -> 1409[label="",style="solid", color="blue", weight=9]; 1409 -> 5[label="",style="solid", color="blue", weight=3]; 1410[label="- :: Integer -> Integer -> Integer",fontsize=10,color="white",style="solid",shape="box"];4 -> 1410[label="",style="solid", color="blue", weight=9]; 1410 -> 6[label="",style="solid", color="blue", weight=3]; 1411[label="- :: Int -> Int -> Int",fontsize=10,color="white",style="solid",shape="box"];4 -> 1411[label="",style="solid", color="blue", weight=9]; 1411 -> 7[label="",style="solid", color="blue", weight=3]; 1412[label="- :: Float -> Float -> Float",fontsize=10,color="white",style="solid",shape="box"];4 -> 1412[label="",style="solid", color="blue", weight=9]; 1412 -> 8[label="",style="solid", color="blue", weight=3]; 1413[label="- :: (Ratio a) -> (Ratio a) -> Ratio a",fontsize=10,color="white",style="solid",shape="box"];4 -> 1413[label="",style="solid", color="blue", weight=9]; 1413 -> 9[label="",style="solid", color="blue", weight=3]; 5[label="(-) vuz3 vuz4",fontsize=16,color="black",shape="box"];5 -> 10[label="",style="solid", color="black", weight=3]; 6[label="(-) vuz3 vuz4",fontsize=16,color="burlywood",shape="box"];1414[label="vuz3/Integer vuz30",fontsize=10,color="white",style="solid",shape="box"];6 -> 1414[label="",style="solid", color="burlywood", weight=9]; 1414 -> 11[label="",style="solid", color="burlywood", weight=3]; 7[label="(-) vuz3 vuz4",fontsize=16,color="black",shape="triangle"];7 -> 12[label="",style="solid", color="black", weight=3]; 8[label="(-) vuz3 vuz4",fontsize=16,color="black",shape="box"];8 -> 13[label="",style="solid", color="black", weight=3]; 9[label="(-) vuz3 vuz4",fontsize=16,color="black",shape="box"];9 -> 14[label="",style="solid", color="black", weight=3]; 10[label="primMinusDouble vuz3 vuz4",fontsize=16,color="burlywood",shape="box"];1415[label="vuz3/Double vuz30 vuz31",fontsize=10,color="white",style="solid",shape="box"];10 -> 1415[label="",style="solid", color="burlywood", weight=9]; 1415 -> 15[label="",style="solid", color="burlywood", weight=3]; 11[label="(-) Integer vuz30 vuz4",fontsize=16,color="burlywood",shape="box"];1416[label="vuz4/Integer vuz40",fontsize=10,color="white",style="solid",shape="box"];11 -> 1416[label="",style="solid", color="burlywood", weight=9]; 1416 -> 16[label="",style="solid", color="burlywood", weight=3]; 12[label="primMinusInt vuz3 vuz4",fontsize=16,color="burlywood",shape="triangle"];1417[label="vuz3/Pos vuz30",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]; 1418[label="vuz3/Neg vuz30",fontsize=10,color="white",style="solid",shape="box"];12 -> 1418[label="",style="solid", color="burlywood", weight=9]; 1418 -> 18[label="",style="solid", color="burlywood", weight=3]; 13[label="primMinusFloat vuz3 vuz4",fontsize=16,color="burlywood",shape="box"];1419[label="vuz3/Float vuz30 vuz31",fontsize=10,color="white",style="solid",shape="box"];13 -> 1419[label="",style="solid", color="burlywood", weight=9]; 1419 -> 19[label="",style="solid", color="burlywood", weight=3]; 14[label="vuz3 + (negate vuz4)",fontsize=16,color="burlywood",shape="box"];1420[label="vuz3/vuz30 :% vuz31",fontsize=10,color="white",style="solid",shape="box"];14 -> 1420[label="",style="solid", color="burlywood", weight=9]; 1420 -> 20[label="",style="solid", color="burlywood", weight=3]; 15[label="primMinusDouble (Double vuz30 vuz31) vuz4",fontsize=16,color="burlywood",shape="box"];1421[label="vuz4/Double vuz40 vuz41",fontsize=10,color="white",style="solid",shape="box"];15 -> 1421[label="",style="solid", color="burlywood", weight=9]; 1421 -> 21[label="",style="solid", color="burlywood", weight=3]; 16[label="(-) Integer vuz30 Integer vuz40",fontsize=16,color="black",shape="box"];16 -> 22[label="",style="solid", color="black", weight=3]; 17[label="primMinusInt (Pos vuz30) vuz4",fontsize=16,color="burlywood",shape="box"];1422[label="vuz4/Pos vuz40",fontsize=10,color="white",style="solid",shape="box"];17 -> 1422[label="",style="solid", color="burlywood", weight=9]; 1422 -> 23[label="",style="solid", color="burlywood", weight=3]; 1423[label="vuz4/Neg vuz40",fontsize=10,color="white",style="solid",shape="box"];17 -> 1423[label="",style="solid", color="burlywood", weight=9]; 1423 -> 24[label="",style="solid", color="burlywood", weight=3]; 18[label="primMinusInt (Neg vuz30) vuz4",fontsize=16,color="burlywood",shape="box"];1424[label="vuz4/Pos vuz40",fontsize=10,color="white",style="solid",shape="box"];18 -> 1424[label="",style="solid", color="burlywood", weight=9]; 1424 -> 25[label="",style="solid", color="burlywood", weight=3]; 1425[label="vuz4/Neg vuz40",fontsize=10,color="white",style="solid",shape="box"];18 -> 1425[label="",style="solid", color="burlywood", weight=9]; 1425 -> 26[label="",style="solid", color="burlywood", weight=3]; 19[label="primMinusFloat (Float vuz30 vuz31) vuz4",fontsize=16,color="burlywood",shape="box"];1426[label="vuz4/Float vuz40 vuz41",fontsize=10,color="white",style="solid",shape="box"];19 -> 1426[label="",style="solid", color="burlywood", weight=9]; 1426 -> 27[label="",style="solid", color="burlywood", weight=3]; 20[label="vuz30 :% vuz31 + (negate vuz4)",fontsize=16,color="burlywood",shape="box"];1427[label="vuz4/vuz40 :% vuz41",fontsize=10,color="white",style="solid",shape="box"];20 -> 1427[label="",style="solid", color="burlywood", weight=9]; 1427 -> 28[label="",style="solid", color="burlywood", weight=3]; 21[label="primMinusDouble (Double vuz30 vuz31) (Double vuz40 vuz41)",fontsize=16,color="black",shape="box"];21 -> 29[label="",style="solid", color="black", weight=3]; 22[label="Integer (primMinusInt vuz30 vuz40)",fontsize=16,color="green",shape="box"];22 -> 30[label="",style="dashed", color="green", weight=3]; 23[label="primMinusInt (Pos vuz30) (Pos vuz40)",fontsize=16,color="black",shape="box"];23 -> 31[label="",style="solid", color="black", weight=3]; 24[label="primMinusInt (Pos vuz30) (Neg vuz40)",fontsize=16,color="black",shape="box"];24 -> 32[label="",style="solid", color="black", weight=3]; 25[label="primMinusInt (Neg vuz30) (Pos vuz40)",fontsize=16,color="black",shape="box"];25 -> 33[label="",style="solid", color="black", weight=3]; 26[label="primMinusInt (Neg vuz30) (Neg vuz40)",fontsize=16,color="black",shape="box"];26 -> 34[label="",style="solid", color="black", weight=3]; 27[label="primMinusFloat (Float vuz30 vuz31) (Float vuz40 vuz41)",fontsize=16,color="black",shape="box"];27 -> 35[label="",style="solid", color="black", weight=3]; 28[label="vuz30 :% vuz31 + (negate vuz40 :% vuz41)",fontsize=16,color="black",shape="box"];28 -> 36[label="",style="solid", color="black", weight=3]; 29[label="Double (vuz30 * vuz41 - vuz40 * vuz31) (vuz31 * vuz41)",fontsize=16,color="green",shape="box"];29 -> 37[label="",style="dashed", color="green", weight=3]; 29 -> 38[label="",style="dashed", color="green", weight=3]; 30 -> 12[label="",style="dashed", color="red", weight=0]; 30[label="primMinusInt vuz30 vuz40",fontsize=16,color="magenta"];30 -> 39[label="",style="dashed", color="magenta", weight=3]; 30 -> 40[label="",style="dashed", color="magenta", weight=3]; 31[label="primMinusNat vuz30 vuz40",fontsize=16,color="burlywood",shape="triangle"];1428[label="vuz30/Succ vuz300",fontsize=10,color="white",style="solid",shape="box"];31 -> 1428[label="",style="solid", color="burlywood", weight=9]; 1428 -> 41[label="",style="solid", color="burlywood", weight=3]; 1429[label="vuz30/Zero",fontsize=10,color="white",style="solid",shape="box"];31 -> 1429[label="",style="solid", color="burlywood", weight=9]; 1429 -> 42[label="",style="solid", color="burlywood", weight=3]; 32[label="Pos (primPlusNat vuz30 vuz40)",fontsize=16,color="green",shape="box"];32 -> 43[label="",style="dashed", color="green", weight=3]; 33[label="Neg (primPlusNat vuz30 vuz40)",fontsize=16,color="green",shape="box"];33 -> 44[label="",style="dashed", color="green", weight=3]; 34 -> 31[label="",style="dashed", color="red", weight=0]; 34[label="primMinusNat vuz40 vuz30",fontsize=16,color="magenta"];34 -> 45[label="",style="dashed", color="magenta", weight=3]; 34 -> 46[label="",style="dashed", color="magenta", weight=3]; 35[label="Float (vuz30 * vuz41 - vuz40 * vuz31) (vuz31 * vuz41)",fontsize=16,color="green",shape="box"];35 -> 47[label="",style="dashed", color="green", weight=3]; 35 -> 48[label="",style="dashed", color="green", weight=3]; 36 -> 49[label="",style="dashed", color="red", weight=0]; 36[label="vuz30 :% vuz31 + (negate vuz40) :% vuz41",fontsize=16,color="magenta"];36 -> 50[label="",style="dashed", color="magenta", weight=3]; 36 -> 51[label="",style="dashed", color="magenta", weight=3]; 36 -> 52[label="",style="dashed", color="magenta", weight=3]; 36 -> 53[label="",style="dashed", color="magenta", weight=3]; 37 -> 7[label="",style="dashed", color="red", weight=0]; 37[label="vuz30 * vuz41 - vuz40 * vuz31",fontsize=16,color="magenta"];37 -> 54[label="",style="dashed", color="magenta", weight=3]; 37 -> 55[label="",style="dashed", color="magenta", weight=3]; 38[label="vuz31 * vuz41",fontsize=16,color="black",shape="triangle"];38 -> 56[label="",style="solid", color="black", weight=3]; 39[label="vuz40",fontsize=16,color="green",shape="box"];40[label="vuz30",fontsize=16,color="green",shape="box"];41[label="primMinusNat (Succ vuz300) vuz40",fontsize=16,color="burlywood",shape="box"];1430[label="vuz40/Succ vuz400",fontsize=10,color="white",style="solid",shape="box"];41 -> 1430[label="",style="solid", color="burlywood", weight=9]; 1430 -> 57[label="",style="solid", color="burlywood", weight=3]; 1431[label="vuz40/Zero",fontsize=10,color="white",style="solid",shape="box"];41 -> 1431[label="",style="solid", color="burlywood", weight=9]; 1431 -> 58[label="",style="solid", color="burlywood", weight=3]; 42[label="primMinusNat Zero vuz40",fontsize=16,color="burlywood",shape="box"];1432[label="vuz40/Succ vuz400",fontsize=10,color="white",style="solid",shape="box"];42 -> 1432[label="",style="solid", color="burlywood", weight=9]; 1432 -> 59[label="",style="solid", color="burlywood", weight=3]; 1433[label="vuz40/Zero",fontsize=10,color="white",style="solid",shape="box"];42 -> 1433[label="",style="solid", color="burlywood", weight=9]; 1433 -> 60[label="",style="solid", color="burlywood", weight=3]; 43[label="primPlusNat vuz30 vuz40",fontsize=16,color="burlywood",shape="triangle"];1434[label="vuz30/Succ vuz300",fontsize=10,color="white",style="solid",shape="box"];43 -> 1434[label="",style="solid", color="burlywood", weight=9]; 1434 -> 61[label="",style="solid", color="burlywood", weight=3]; 1435[label="vuz30/Zero",fontsize=10,color="white",style="solid",shape="box"];43 -> 1435[label="",style="solid", color="burlywood", weight=9]; 1435 -> 62[label="",style="solid", color="burlywood", weight=3]; 44 -> 43[label="",style="dashed", color="red", weight=0]; 44[label="primPlusNat vuz30 vuz40",fontsize=16,color="magenta"];44 -> 63[label="",style="dashed", color="magenta", weight=3]; 44 -> 64[label="",style="dashed", color="magenta", weight=3]; 45[label="vuz40",fontsize=16,color="green",shape="box"];46[label="vuz30",fontsize=16,color="green",shape="box"];47 -> 7[label="",style="dashed", color="red", weight=0]; 47[label="vuz30 * vuz41 - vuz40 * vuz31",fontsize=16,color="magenta"];47 -> 65[label="",style="dashed", color="magenta", weight=3]; 47 -> 66[label="",style="dashed", color="magenta", weight=3]; 48 -> 38[label="",style="dashed", color="red", weight=0]; 48[label="vuz31 * vuz41",fontsize=16,color="magenta"];48 -> 67[label="",style="dashed", color="magenta", weight=3]; 48 -> 68[label="",style="dashed", color="magenta", weight=3]; 50[label="vuz41",fontsize=16,color="green",shape="box"];51[label="negate vuz40",fontsize=16,color="blue",shape="box"];1436[label="negate :: Integer -> Integer",fontsize=10,color="white",style="solid",shape="box"];51 -> 1436[label="",style="solid", color="blue", weight=9]; 1436 -> 69[label="",style="solid", color="blue", weight=3]; 1437[label="negate :: Int -> Int",fontsize=10,color="white",style="solid",shape="box"];51 -> 1437[label="",style="solid", color="blue", weight=9]; 1437 -> 70[label="",style="solid", color="blue", weight=3]; 52[label="vuz31",fontsize=16,color="green",shape="box"];53[label="vuz30",fontsize=16,color="green",shape="box"];49[label="vuz10 :% vuz11 + vuz12 :% vuz13",fontsize=16,color="black",shape="triangle"];49 -> 71[label="",style="solid", color="black", weight=3]; 54 -> 38[label="",style="dashed", color="red", weight=0]; 54[label="vuz40 * vuz31",fontsize=16,color="magenta"];54 -> 72[label="",style="dashed", color="magenta", weight=3]; 54 -> 73[label="",style="dashed", color="magenta", weight=3]; 55 -> 38[label="",style="dashed", color="red", weight=0]; 55[label="vuz30 * vuz41",fontsize=16,color="magenta"];55 -> 74[label="",style="dashed", color="magenta", weight=3]; 56[label="primMulInt vuz31 vuz41",fontsize=16,color="burlywood",shape="triangle"];1438[label="vuz31/Pos vuz310",fontsize=10,color="white",style="solid",shape="box"];56 -> 1438[label="",style="solid", color="burlywood", weight=9]; 1438 -> 75[label="",style="solid", color="burlywood", weight=3]; 1439[label="vuz31/Neg vuz310",fontsize=10,color="white",style="solid",shape="box"];56 -> 1439[label="",style="solid", color="burlywood", weight=9]; 1439 -> 76[label="",style="solid", color="burlywood", weight=3]; 57[label="primMinusNat (Succ vuz300) (Succ vuz400)",fontsize=16,color="black",shape="box"];57 -> 77[label="",style="solid", color="black", weight=3]; 58[label="primMinusNat (Succ vuz300) Zero",fontsize=16,color="black",shape="box"];58 -> 78[label="",style="solid", color="black", weight=3]; 59[label="primMinusNat Zero (Succ vuz400)",fontsize=16,color="black",shape="box"];59 -> 79[label="",style="solid", color="black", weight=3]; 60[label="primMinusNat Zero Zero",fontsize=16,color="black",shape="box"];60 -> 80[label="",style="solid", color="black", weight=3]; 61[label="primPlusNat (Succ vuz300) vuz40",fontsize=16,color="burlywood",shape="box"];1440[label="vuz40/Succ vuz400",fontsize=10,color="white",style="solid",shape="box"];61 -> 1440[label="",style="solid", color="burlywood", weight=9]; 1440 -> 81[label="",style="solid", color="burlywood", weight=3]; 1441[label="vuz40/Zero",fontsize=10,color="white",style="solid",shape="box"];61 -> 1441[label="",style="solid", color="burlywood", weight=9]; 1441 -> 82[label="",style="solid", color="burlywood", weight=3]; 62[label="primPlusNat Zero vuz40",fontsize=16,color="burlywood",shape="box"];1442[label="vuz40/Succ vuz400",fontsize=10,color="white",style="solid",shape="box"];62 -> 1442[label="",style="solid", color="burlywood", weight=9]; 1442 -> 83[label="",style="solid", color="burlywood", weight=3]; 1443[label="vuz40/Zero",fontsize=10,color="white",style="solid",shape="box"];62 -> 1443[label="",style="solid", color="burlywood", weight=9]; 1443 -> 84[label="",style="solid", color="burlywood", weight=3]; 63[label="vuz40",fontsize=16,color="green",shape="box"];64[label="vuz30",fontsize=16,color="green",shape="box"];65 -> 38[label="",style="dashed", color="red", weight=0]; 65[label="vuz40 * vuz31",fontsize=16,color="magenta"];65 -> 85[label="",style="dashed", color="magenta", weight=3]; 65 -> 86[label="",style="dashed", color="magenta", weight=3]; 66 -> 38[label="",style="dashed", color="red", weight=0]; 66[label="vuz30 * vuz41",fontsize=16,color="magenta"];66 -> 87[label="",style="dashed", color="magenta", weight=3]; 66 -> 88[label="",style="dashed", color="magenta", weight=3]; 67[label="vuz41",fontsize=16,color="green",shape="box"];68[label="vuz31",fontsize=16,color="green",shape="box"];69[label="negate vuz40",fontsize=16,color="burlywood",shape="triangle"];1444[label="vuz40/Integer vuz400",fontsize=10,color="white",style="solid",shape="box"];69 -> 1444[label="",style="solid", color="burlywood", weight=9]; 1444 -> 89[label="",style="solid", color="burlywood", weight=3]; 70[label="negate vuz40",fontsize=16,color="black",shape="triangle"];70 -> 90[label="",style="solid", color="black", weight=3]; 71[label="reduce (vuz10 * vuz13 + vuz12 * vuz11) (vuz11 * vuz13)",fontsize=16,color="black",shape="box"];71 -> 91[label="",style="solid", color="black", weight=3]; 72[label="vuz31",fontsize=16,color="green",shape="box"];73[label="vuz40",fontsize=16,color="green",shape="box"];74[label="vuz30",fontsize=16,color="green",shape="box"];75[label="primMulInt (Pos vuz310) vuz41",fontsize=16,color="burlywood",shape="box"];1445[label="vuz41/Pos vuz410",fontsize=10,color="white",style="solid",shape="box"];75 -> 1445[label="",style="solid", color="burlywood", weight=9]; 1445 -> 92[label="",style="solid", color="burlywood", weight=3]; 1446[label="vuz41/Neg vuz410",fontsize=10,color="white",style="solid",shape="box"];75 -> 1446[label="",style="solid", color="burlywood", weight=9]; 1446 -> 93[label="",style="solid", color="burlywood", weight=3]; 76[label="primMulInt (Neg vuz310) vuz41",fontsize=16,color="burlywood",shape="box"];1447[label="vuz41/Pos vuz410",fontsize=10,color="white",style="solid",shape="box"];76 -> 1447[label="",style="solid", color="burlywood", weight=9]; 1447 -> 94[label="",style="solid", color="burlywood", weight=3]; 1448[label="vuz41/Neg vuz410",fontsize=10,color="white",style="solid",shape="box"];76 -> 1448[label="",style="solid", color="burlywood", weight=9]; 1448 -> 95[label="",style="solid", color="burlywood", weight=3]; 77 -> 31[label="",style="dashed", color="red", weight=0]; 77[label="primMinusNat vuz300 vuz400",fontsize=16,color="magenta"];77 -> 96[label="",style="dashed", color="magenta", weight=3]; 77 -> 97[label="",style="dashed", color="magenta", weight=3]; 78[label="Pos (Succ vuz300)",fontsize=16,color="green",shape="box"];79[label="Neg (Succ vuz400)",fontsize=16,color="green",shape="box"];80[label="Pos Zero",fontsize=16,color="green",shape="box"];81[label="primPlusNat (Succ vuz300) (Succ vuz400)",fontsize=16,color="black",shape="box"];81 -> 98[label="",style="solid", color="black", weight=3]; 82[label="primPlusNat (Succ vuz300) Zero",fontsize=16,color="black",shape="box"];82 -> 99[label="",style="solid", color="black", weight=3]; 83[label="primPlusNat Zero (Succ vuz400)",fontsize=16,color="black",shape="box"];83 -> 100[label="",style="solid", color="black", weight=3]; 84[label="primPlusNat Zero Zero",fontsize=16,color="black",shape="box"];84 -> 101[label="",style="solid", color="black", weight=3]; 85[label="vuz31",fontsize=16,color="green",shape="box"];86[label="vuz40",fontsize=16,color="green",shape="box"];87[label="vuz41",fontsize=16,color="green",shape="box"];88[label="vuz30",fontsize=16,color="green",shape="box"];89[label="negate Integer vuz400",fontsize=16,color="black",shape="box"];89 -> 102[label="",style="solid", color="black", weight=3]; 90[label="primNegInt vuz40",fontsize=16,color="burlywood",shape="triangle"];1449[label="vuz40/Pos vuz400",fontsize=10,color="white",style="solid",shape="box"];90 -> 1449[label="",style="solid", color="burlywood", weight=9]; 1449 -> 103[label="",style="solid", color="burlywood", weight=3]; 1450[label="vuz40/Neg vuz400",fontsize=10,color="white",style="solid",shape="box"];90 -> 1450[label="",style="solid", color="burlywood", weight=9]; 1450 -> 104[label="",style="solid", color="burlywood", weight=3]; 91[label="reduce2 (vuz10 * vuz13 + vuz12 * vuz11) (vuz11 * vuz13)",fontsize=16,color="black",shape="box"];91 -> 105[label="",style="solid", color="black", weight=3]; 92[label="primMulInt (Pos vuz310) (Pos vuz410)",fontsize=16,color="black",shape="box"];92 -> 106[label="",style="solid", color="black", weight=3]; 93[label="primMulInt (Pos vuz310) (Neg vuz410)",fontsize=16,color="black",shape="box"];93 -> 107[label="",style="solid", color="black", weight=3]; 94[label="primMulInt (Neg vuz310) (Pos vuz410)",fontsize=16,color="black",shape="box"];94 -> 108[label="",style="solid", color="black", weight=3]; 95[label="primMulInt (Neg vuz310) (Neg vuz410)",fontsize=16,color="black",shape="box"];95 -> 109[label="",style="solid", color="black", weight=3]; 96[label="vuz300",fontsize=16,color="green",shape="box"];97[label="vuz400",fontsize=16,color="green",shape="box"];98[label="Succ (Succ (primPlusNat vuz300 vuz400))",fontsize=16,color="green",shape="box"];98 -> 110[label="",style="dashed", color="green", weight=3]; 99[label="Succ vuz300",fontsize=16,color="green",shape="box"];100[label="Succ vuz400",fontsize=16,color="green",shape="box"];101[label="Zero",fontsize=16,color="green",shape="box"];102[label="Integer (primNegInt vuz400)",fontsize=16,color="green",shape="box"];102 -> 111[label="",style="dashed", color="green", weight=3]; 103[label="primNegInt (Pos vuz400)",fontsize=16,color="black",shape="box"];103 -> 112[label="",style="solid", color="black", weight=3]; 104[label="primNegInt (Neg vuz400)",fontsize=16,color="black",shape="box"];104 -> 113[label="",style="solid", color="black", weight=3]; 105 -> 114[label="",style="dashed", color="red", weight=0]; 105[label="reduce2Reduce1 (vuz10 * vuz13 + vuz12 * vuz11) (vuz11 * vuz13) (vuz10 * vuz13 + vuz12 * vuz11) (vuz11 * vuz13) (vuz11 * vuz13 == fromInt (Pos Zero))",fontsize=16,color="magenta"];105 -> 115[label="",style="dashed", color="magenta", weight=3]; 105 -> 116[label="",style="dashed", color="magenta", weight=3]; 105 -> 117[label="",style="dashed", color="magenta", weight=3]; 105 -> 118[label="",style="dashed", color="magenta", weight=3]; 105 -> 119[label="",style="dashed", color="magenta", weight=3]; 106[label="Pos (primMulNat vuz310 vuz410)",fontsize=16,color="green",shape="box"];106 -> 120[label="",style="dashed", color="green", weight=3]; 107[label="Neg (primMulNat vuz310 vuz410)",fontsize=16,color="green",shape="box"];107 -> 121[label="",style="dashed", color="green", weight=3]; 108[label="Neg (primMulNat vuz310 vuz410)",fontsize=16,color="green",shape="box"];108 -> 122[label="",style="dashed", color="green", weight=3]; 109[label="Pos (primMulNat vuz310 vuz410)",fontsize=16,color="green",shape="box"];109 -> 123[label="",style="dashed", color="green", weight=3]; 110 -> 43[label="",style="dashed", color="red", weight=0]; 110[label="primPlusNat vuz300 vuz400",fontsize=16,color="magenta"];110 -> 124[label="",style="dashed", color="magenta", weight=3]; 110 -> 125[label="",style="dashed", color="magenta", weight=3]; 111 -> 90[label="",style="dashed", color="red", weight=0]; 111[label="primNegInt vuz400",fontsize=16,color="magenta"];111 -> 126[label="",style="dashed", color="magenta", weight=3]; 112[label="Neg vuz400",fontsize=16,color="green",shape="box"];113[label="Pos vuz400",fontsize=16,color="green",shape="box"];115[label="vuz11",fontsize=16,color="green",shape="box"];116[label="vuz12",fontsize=16,color="green",shape="box"];117[label="vuz10",fontsize=16,color="green",shape="box"];118[label="vuz11 * vuz13 == fromInt (Pos Zero)",fontsize=16,color="blue",shape="box"];1451[label="== :: Int -> Int -> Bool",fontsize=10,color="white",style="solid",shape="box"];118 -> 1451[label="",style="solid", color="blue", weight=9]; 1451 -> 127[label="",style="solid", color="blue", weight=3]; 1452[label="== :: Integer -> Integer -> Bool",fontsize=10,color="white",style="solid",shape="box"];118 -> 1452[label="",style="solid", color="blue", weight=9]; 1452 -> 128[label="",style="solid", color="blue", weight=3]; 119[label="vuz13",fontsize=16,color="green",shape="box"];114[label="reduce2Reduce1 (vuz20 * vuz21 + vuz22 * vuz23) (vuz23 * vuz21) (vuz20 * vuz21 + vuz22 * vuz23) (vuz23 * vuz21) vuz24",fontsize=16,color="burlywood",shape="triangle"];1453[label="vuz24/False",fontsize=10,color="white",style="solid",shape="box"];114 -> 1453[label="",style="solid", color="burlywood", weight=9]; 1453 -> 129[label="",style="solid", color="burlywood", weight=3]; 1454[label="vuz24/True",fontsize=10,color="white",style="solid",shape="box"];114 -> 1454[label="",style="solid", color="burlywood", weight=9]; 1454 -> 130[label="",style="solid", color="burlywood", weight=3]; 120[label="primMulNat vuz310 vuz410",fontsize=16,color="burlywood",shape="triangle"];1455[label="vuz310/Succ vuz3100",fontsize=10,color="white",style="solid",shape="box"];120 -> 1455[label="",style="solid", color="burlywood", weight=9]; 1455 -> 131[label="",style="solid", color="burlywood", weight=3]; 1456[label="vuz310/Zero",fontsize=10,color="white",style="solid",shape="box"];120 -> 1456[label="",style="solid", color="burlywood", weight=9]; 1456 -> 132[label="",style="solid", color="burlywood", weight=3]; 121 -> 120[label="",style="dashed", color="red", weight=0]; 121[label="primMulNat vuz310 vuz410",fontsize=16,color="magenta"];121 -> 133[label="",style="dashed", color="magenta", weight=3]; 122 -> 120[label="",style="dashed", color="red", weight=0]; 122[label="primMulNat vuz310 vuz410",fontsize=16,color="magenta"];122 -> 134[label="",style="dashed", color="magenta", weight=3]; 123 -> 120[label="",style="dashed", color="red", weight=0]; 123[label="primMulNat vuz310 vuz410",fontsize=16,color="magenta"];123 -> 135[label="",style="dashed", color="magenta", weight=3]; 123 -> 136[label="",style="dashed", color="magenta", weight=3]; 124[label="vuz400",fontsize=16,color="green",shape="box"];125[label="vuz300",fontsize=16,color="green",shape="box"];126[label="vuz400",fontsize=16,color="green",shape="box"];127 -> 137[label="",style="dashed", color="red", weight=0]; 127[label="vuz11 * vuz13 == fromInt (Pos Zero)",fontsize=16,color="magenta"];127 -> 138[label="",style="dashed", color="magenta", weight=3]; 128 -> 1058[label="",style="dashed", color="red", weight=0]; 128[label="vuz11 * vuz13 == fromInt (Pos Zero)",fontsize=16,color="magenta"];128 -> 1059[label="",style="dashed", color="magenta", weight=3]; 129[label="reduce2Reduce1 (vuz20 * vuz21 + vuz22 * vuz23) (vuz23 * vuz21) (vuz20 * vuz21 + vuz22 * vuz23) (vuz23 * vuz21) False",fontsize=16,color="black",shape="box"];129 -> 140[label="",style="solid", color="black", weight=3]; 130[label="reduce2Reduce1 (vuz20 * vuz21 + vuz22 * vuz23) (vuz23 * vuz21) (vuz20 * vuz21 + vuz22 * vuz23) (vuz23 * vuz21) True",fontsize=16,color="black",shape="box"];130 -> 141[label="",style="solid", color="black", weight=3]; 131[label="primMulNat (Succ vuz3100) vuz410",fontsize=16,color="burlywood",shape="box"];1457[label="vuz410/Succ vuz4100",fontsize=10,color="white",style="solid",shape="box"];131 -> 1457[label="",style="solid", color="burlywood", weight=9]; 1457 -> 142[label="",style="solid", color="burlywood", weight=3]; 1458[label="vuz410/Zero",fontsize=10,color="white",style="solid",shape="box"];131 -> 1458[label="",style="solid", color="burlywood", weight=9]; 1458 -> 143[label="",style="solid", color="burlywood", weight=3]; 132[label="primMulNat Zero vuz410",fontsize=16,color="burlywood",shape="box"];1459[label="vuz410/Succ vuz4100",fontsize=10,color="white",style="solid",shape="box"];132 -> 1459[label="",style="solid", color="burlywood", weight=9]; 1459 -> 144[label="",style="solid", color="burlywood", weight=3]; 1460[label="vuz410/Zero",fontsize=10,color="white",style="solid",shape="box"];132 -> 1460[label="",style="solid", color="burlywood", weight=9]; 1460 -> 145[label="",style="solid", color="burlywood", weight=3]; 133[label="vuz410",fontsize=16,color="green",shape="box"];134[label="vuz310",fontsize=16,color="green",shape="box"];135[label="vuz410",fontsize=16,color="green",shape="box"];136[label="vuz310",fontsize=16,color="green",shape="box"];138 -> 38[label="",style="dashed", color="red", weight=0]; 138[label="vuz11 * vuz13",fontsize=16,color="magenta"];138 -> 146[label="",style="dashed", color="magenta", weight=3]; 138 -> 147[label="",style="dashed", color="magenta", weight=3]; 137[label="vuz25 == fromInt (Pos Zero)",fontsize=16,color="black",shape="triangle"];137 -> 148[label="",style="solid", color="black", weight=3]; 1059[label="vuz11 * vuz13",fontsize=16,color="burlywood",shape="triangle"];1461[label="vuz11/Integer vuz110",fontsize=10,color="white",style="solid",shape="box"];1059 -> 1461[label="",style="solid", color="burlywood", weight=9]; 1461 -> 1069[label="",style="solid", color="burlywood", weight=3]; 1058[label="vuz106 == fromInt (Pos Zero)",fontsize=16,color="burlywood",shape="triangle"];1462[label="vuz106/Integer vuz1060",fontsize=10,color="white",style="solid",shape="box"];1058 -> 1462[label="",style="solid", color="burlywood", weight=9]; 1462 -> 1070[label="",style="solid", color="burlywood", weight=3]; 140[label="reduce2Reduce0 (vuz20 * vuz21 + vuz22 * vuz23) (vuz23 * vuz21) (vuz20 * vuz21 + vuz22 * vuz23) (vuz23 * vuz21) otherwise",fontsize=16,color="black",shape="box"];140 -> 150[label="",style="solid", color="black", weight=3]; 141[label="error []",fontsize=16,color="black",shape="box"];141 -> 151[label="",style="solid", color="black", weight=3]; 142[label="primMulNat (Succ vuz3100) (Succ vuz4100)",fontsize=16,color="black",shape="box"];142 -> 152[label="",style="solid", color="black", weight=3]; 143[label="primMulNat (Succ vuz3100) Zero",fontsize=16,color="black",shape="box"];143 -> 153[label="",style="solid", color="black", weight=3]; 144[label="primMulNat Zero (Succ vuz4100)",fontsize=16,color="black",shape="box"];144 -> 154[label="",style="solid", color="black", weight=3]; 145[label="primMulNat Zero Zero",fontsize=16,color="black",shape="box"];145 -> 155[label="",style="solid", color="black", weight=3]; 146[label="vuz13",fontsize=16,color="green",shape="box"];147[label="vuz11",fontsize=16,color="green",shape="box"];148[label="primEqInt vuz25 (fromInt (Pos Zero))",fontsize=16,color="burlywood",shape="box"];1463[label="vuz25/Pos vuz250",fontsize=10,color="white",style="solid",shape="box"];148 -> 1463[label="",style="solid", color="burlywood", weight=9]; 1463 -> 156[label="",style="solid", color="burlywood", weight=3]; 1464[label="vuz25/Neg vuz250",fontsize=10,color="white",style="solid",shape="box"];148 -> 1464[label="",style="solid", color="burlywood", weight=9]; 1464 -> 157[label="",style="solid", color="burlywood", weight=3]; 1069[label="Integer vuz110 * vuz13",fontsize=16,color="burlywood",shape="box"];1465[label="vuz13/Integer vuz130",fontsize=10,color="white",style="solid",shape="box"];1069 -> 1465[label="",style="solid", color="burlywood", weight=9]; 1465 -> 1077[label="",style="solid", color="burlywood", weight=3]; 1070[label="Integer vuz1060 == fromInt (Pos Zero)",fontsize=16,color="black",shape="box"];1070 -> 1078[label="",style="solid", color="black", weight=3]; 150[label="reduce2Reduce0 (vuz20 * vuz21 + vuz22 * vuz23) (vuz23 * vuz21) (vuz20 * vuz21 + vuz22 * vuz23) (vuz23 * vuz21) True",fontsize=16,color="black",shape="box"];150 -> 159[label="",style="solid", color="black", weight=3]; 151[label="error []",fontsize=16,color="red",shape="box"];152 -> 43[label="",style="dashed", color="red", weight=0]; 152[label="primPlusNat (primMulNat vuz3100 (Succ vuz4100)) (Succ vuz4100)",fontsize=16,color="magenta"];152 -> 160[label="",style="dashed", color="magenta", weight=3]; 152 -> 161[label="",style="dashed", color="magenta", weight=3]; 153[label="Zero",fontsize=16,color="green",shape="box"];154[label="Zero",fontsize=16,color="green",shape="box"];155[label="Zero",fontsize=16,color="green",shape="box"];156[label="primEqInt (Pos vuz250) (fromInt (Pos Zero))",fontsize=16,color="burlywood",shape="box"];1466[label="vuz250/Succ vuz2500",fontsize=10,color="white",style="solid",shape="box"];156 -> 1466[label="",style="solid", color="burlywood", weight=9]; 1466 -> 162[label="",style="solid", color="burlywood", weight=3]; 1467[label="vuz250/Zero",fontsize=10,color="white",style="solid",shape="box"];156 -> 1467[label="",style="solid", color="burlywood", weight=9]; 1467 -> 163[label="",style="solid", color="burlywood", weight=3]; 157[label="primEqInt (Neg vuz250) (fromInt (Pos Zero))",fontsize=16,color="burlywood",shape="box"];1468[label="vuz250/Succ vuz2500",fontsize=10,color="white",style="solid",shape="box"];157 -> 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"];157 -> 1469[label="",style="solid", color="burlywood", weight=9]; 1469 -> 165[label="",style="solid", color="burlywood", weight=3]; 1077[label="Integer vuz110 * Integer vuz130",fontsize=16,color="black",shape="box"];1077 -> 1100[label="",style="solid", color="black", weight=3]; 1078[label="Integer vuz1060 == Integer (Pos Zero)",fontsize=16,color="black",shape="box"];1078 -> 1101[label="",style="solid", color="black", weight=3]; 159[label="(vuz20 * vuz21 + vuz22 * vuz23) `quot` reduce2D (vuz20 * vuz21 + vuz22 * vuz23) (vuz23 * vuz21) :% (vuz23 * vuz21 `quot` reduce2D (vuz20 * vuz21 + vuz22 * vuz23) (vuz23 * vuz21))",fontsize=16,color="green",shape="box"];159 -> 168[label="",style="dashed", color="green", weight=3]; 159 -> 169[label="",style="dashed", color="green", weight=3]; 160[label="Succ vuz4100",fontsize=16,color="green",shape="box"];161 -> 120[label="",style="dashed", color="red", weight=0]; 161[label="primMulNat vuz3100 (Succ vuz4100)",fontsize=16,color="magenta"];161 -> 170[label="",style="dashed", color="magenta", weight=3]; 161 -> 171[label="",style="dashed", color="magenta", weight=3]; 162[label="primEqInt (Pos (Succ vuz2500)) (fromInt (Pos Zero))",fontsize=16,color="black",shape="box"];162 -> 172[label="",style="solid", color="black", weight=3]; 163[label="primEqInt (Pos Zero) (fromInt (Pos Zero))",fontsize=16,color="black",shape="box"];163 -> 173[label="",style="solid", color="black", weight=3]; 164[label="primEqInt (Neg (Succ vuz2500)) (fromInt (Pos Zero))",fontsize=16,color="black",shape="box"];164 -> 174[label="",style="solid", color="black", weight=3]; 165[label="primEqInt (Neg Zero) (fromInt (Pos Zero))",fontsize=16,color="black",shape="box"];165 -> 175[label="",style="solid", color="black", weight=3]; 1100[label="Integer (primMulInt vuz110 vuz130)",fontsize=16,color="green",shape="box"];1100 -> 1117[label="",style="dashed", color="green", weight=3]; 1101[label="primEqInt vuz1060 (Pos Zero)",fontsize=16,color="burlywood",shape="box"];1470[label="vuz1060/Pos vuz10600",fontsize=10,color="white",style="solid",shape="box"];1101 -> 1470[label="",style="solid", color="burlywood", weight=9]; 1470 -> 1118[label="",style="solid", color="burlywood", weight=3]; 1471[label="vuz1060/Neg vuz10600",fontsize=10,color="white",style="solid",shape="box"];1101 -> 1471[label="",style="solid", color="burlywood", weight=9]; 1471 -> 1119[label="",style="solid", color="burlywood", weight=3]; 168[label="(vuz20 * vuz21 + vuz22 * vuz23) `quot` reduce2D (vuz20 * vuz21 + vuz22 * vuz23) (vuz23 * vuz21)",fontsize=16,color="blue",shape="box"];1472[label="`quot` :: Int -> Int -> Int",fontsize=10,color="white",style="solid",shape="box"];168 -> 1472[label="",style="solid", color="blue", weight=9]; 1472 -> 179[label="",style="solid", color="blue", weight=3]; 1473[label="`quot` :: Integer -> Integer -> Integer",fontsize=10,color="white",style="solid",shape="box"];168 -> 1473[label="",style="solid", color="blue", weight=9]; 1473 -> 180[label="",style="solid", color="blue", weight=3]; 169[label="vuz23 * vuz21 `quot` reduce2D (vuz20 * vuz21 + vuz22 * vuz23) (vuz23 * vuz21)",fontsize=16,color="blue",shape="box"];1474[label="`quot` :: Int -> Int -> Int",fontsize=10,color="white",style="solid",shape="box"];169 -> 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"];169 -> 1475[label="",style="solid", color="blue", weight=9]; 1475 -> 182[label="",style="solid", color="blue", weight=3]; 170[label="Succ vuz4100",fontsize=16,color="green",shape="box"];171[label="vuz3100",fontsize=16,color="green",shape="box"];172[label="primEqInt (Pos (Succ vuz2500)) (Pos Zero)",fontsize=16,color="black",shape="box"];172 -> 183[label="",style="solid", color="black", weight=3]; 173[label="primEqInt (Pos Zero) (Pos Zero)",fontsize=16,color="black",shape="box"];173 -> 184[label="",style="solid", color="black", weight=3]; 174[label="primEqInt (Neg (Succ vuz2500)) (Pos Zero)",fontsize=16,color="black",shape="box"];174 -> 185[label="",style="solid", color="black", weight=3]; 175[label="primEqInt (Neg Zero) (Pos Zero)",fontsize=16,color="black",shape="box"];175 -> 186[label="",style="solid", color="black", weight=3]; 1117 -> 56[label="",style="dashed", color="red", weight=0]; 1117[label="primMulInt vuz110 vuz130",fontsize=16,color="magenta"];1117 -> 1135[label="",style="dashed", color="magenta", weight=3]; 1117 -> 1136[label="",style="dashed", color="magenta", weight=3]; 1118[label="primEqInt (Pos vuz10600) (Pos Zero)",fontsize=16,color="burlywood",shape="box"];1476[label="vuz10600/Succ vuz106000",fontsize=10,color="white",style="solid",shape="box"];1118 -> 1476[label="",style="solid", color="burlywood", weight=9]; 1476 -> 1137[label="",style="solid", color="burlywood", weight=3]; 1477[label="vuz10600/Zero",fontsize=10,color="white",style="solid",shape="box"];1118 -> 1477[label="",style="solid", color="burlywood", weight=9]; 1477 -> 1138[label="",style="solid", color="burlywood", weight=3]; 1119[label="primEqInt (Neg vuz10600) (Pos Zero)",fontsize=16,color="burlywood",shape="box"];1478[label="vuz10600/Succ vuz106000",fontsize=10,color="white",style="solid",shape="box"];1119 -> 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"];1119 -> 1479[label="",style="solid", color="burlywood", weight=9]; 1479 -> 1140[label="",style="solid", color="burlywood", weight=3]; 179 -> 220[label="",style="dashed", color="red", weight=0]; 179[label="(vuz20 * vuz21 + vuz22 * vuz23) `quot` reduce2D (vuz20 * vuz21 + vuz22 * vuz23) (vuz23 * vuz21)",fontsize=16,color="magenta"];179 -> 221[label="",style="dashed", color="magenta", weight=3]; 179 -> 222[label="",style="dashed", color="magenta", weight=3]; 179 -> 223[label="",style="dashed", color="magenta", weight=3]; 180[label="(vuz20 * vuz21 + vuz22 * vuz23) `quot` reduce2D (vuz20 * vuz21 + vuz22 * vuz23) (vuz23 * vuz21)",fontsize=16,color="burlywood",shape="box"];1480[label="vuz20/Integer vuz200",fontsize=10,color="white",style="solid",shape="box"];180 -> 1480[label="",style="solid", color="burlywood", weight=9]; 1480 -> 194[label="",style="solid", color="burlywood", weight=3]; 181 -> 220[label="",style="dashed", color="red", weight=0]; 181[label="vuz23 * vuz21 `quot` reduce2D (vuz20 * vuz21 + vuz22 * vuz23) (vuz23 * vuz21)",fontsize=16,color="magenta"];181 -> 224[label="",style="dashed", color="magenta", weight=3]; 181 -> 225[label="",style="dashed", color="magenta", weight=3]; 181 -> 226[label="",style="dashed", color="magenta", weight=3]; 182[label="vuz23 * vuz21 `quot` reduce2D (vuz20 * vuz21 + vuz22 * vuz23) (vuz23 * vuz21)",fontsize=16,color="burlywood",shape="box"];1481[label="vuz23/Integer vuz230",fontsize=10,color="white",style="solid",shape="box"];182 -> 1481[label="",style="solid", color="burlywood", weight=9]; 1481 -> 208[label="",style="solid", color="burlywood", weight=3]; 183[label="False",fontsize=16,color="green",shape="box"];184[label="True",fontsize=16,color="green",shape="box"];185[label="False",fontsize=16,color="green",shape="box"];186[label="True",fontsize=16,color="green",shape="box"];1135[label="vuz130",fontsize=16,color="green",shape="box"];1136[label="vuz110",fontsize=16,color="green",shape="box"];1137[label="primEqInt (Pos (Succ vuz106000)) (Pos Zero)",fontsize=16,color="black",shape="box"];1137 -> 1151[label="",style="solid", color="black", weight=3]; 1138[label="primEqInt (Pos Zero) (Pos Zero)",fontsize=16,color="black",shape="box"];1138 -> 1152[label="",style="solid", color="black", weight=3]; 1139[label="primEqInt (Neg (Succ vuz106000)) (Pos Zero)",fontsize=16,color="black",shape="box"];1139 -> 1153[label="",style="solid", color="black", weight=3]; 1140[label="primEqInt (Neg Zero) (Pos Zero)",fontsize=16,color="black",shape="box"];1140 -> 1154[label="",style="solid", color="black", weight=3]; 221 -> 38[label="",style="dashed", color="red", weight=0]; 221[label="vuz23 * vuz21",fontsize=16,color="magenta"];221 -> 228[label="",style="dashed", color="magenta", weight=3]; 221 -> 229[label="",style="dashed", color="magenta", weight=3]; 222 -> 230[label="",style="dashed", color="red", weight=0]; 222[label="vuz20 * vuz21 + vuz22 * vuz23",fontsize=16,color="magenta"];222 -> 231[label="",style="dashed", color="magenta", weight=3]; 222 -> 232[label="",style="dashed", color="magenta", weight=3]; 223 -> 230[label="",style="dashed", color="red", weight=0]; 223[label="vuz20 * vuz21 + vuz22 * vuz23",fontsize=16,color="magenta"];223 -> 233[label="",style="dashed", color="magenta", weight=3]; 223 -> 234[label="",style="dashed", color="magenta", weight=3]; 220[label="vuz32 `quot` reduce2D vuz38 vuz33",fontsize=16,color="black",shape="triangle"];220 -> 237[label="",style="solid", color="black", weight=3]; 194[label="(Integer vuz200 * vuz21 + vuz22 * vuz23) `quot` reduce2D (Integer vuz200 * vuz21 + vuz22 * vuz23) (vuz23 * vuz21)",fontsize=16,color="burlywood",shape="box"];1482[label="vuz21/Integer vuz210",fontsize=10,color="white",style="solid",shape="box"];194 -> 1482[label="",style="solid", color="burlywood", weight=9]; 1482 -> 238[label="",style="solid", color="burlywood", weight=3]; 224 -> 38[label="",style="dashed", color="red", weight=0]; 224[label="vuz23 * vuz21",fontsize=16,color="magenta"];224 -> 239[label="",style="dashed", color="magenta", weight=3]; 224 -> 240[label="",style="dashed", color="magenta", weight=3]; 225 -> 230[label="",style="dashed", color="red", weight=0]; 225[label="vuz20 * vuz21 + vuz22 * vuz23",fontsize=16,color="magenta"];225 -> 235[label="",style="dashed", color="magenta", weight=3]; 225 -> 236[label="",style="dashed", color="magenta", weight=3]; 226 -> 38[label="",style="dashed", color="red", weight=0]; 226[label="vuz23 * vuz21",fontsize=16,color="magenta"];226 -> 241[label="",style="dashed", color="magenta", weight=3]; 226 -> 242[label="",style="dashed", color="magenta", weight=3]; 208[label="Integer vuz230 * vuz21 `quot` reduce2D (vuz20 * vuz21 + vuz22 * Integer vuz230) (Integer vuz230 * vuz21)",fontsize=16,color="burlywood",shape="box"];1483[label="vuz21/Integer vuz210",fontsize=10,color="white",style="solid",shape="box"];208 -> 1483[label="",style="solid", color="burlywood", weight=9]; 1483 -> 243[label="",style="solid", color="burlywood", weight=3]; 1151[label="False",fontsize=16,color="green",shape="box"];1152[label="True",fontsize=16,color="green",shape="box"];1153[label="False",fontsize=16,color="green",shape="box"];1154[label="True",fontsize=16,color="green",shape="box"];228[label="vuz21",fontsize=16,color="green",shape="box"];229[label="vuz23",fontsize=16,color="green",shape="box"];231 -> 38[label="",style="dashed", color="red", weight=0]; 231[label="vuz20 * vuz21",fontsize=16,color="magenta"];231 -> 248[label="",style="dashed", color="magenta", weight=3]; 231 -> 249[label="",style="dashed", color="magenta", weight=3]; 232 -> 38[label="",style="dashed", color="red", weight=0]; 232[label="vuz22 * vuz23",fontsize=16,color="magenta"];232 -> 250[label="",style="dashed", color="magenta", weight=3]; 232 -> 251[label="",style="dashed", color="magenta", weight=3]; 230[label="vuz40 + vuz39",fontsize=16,color="black",shape="triangle"];230 -> 252[label="",style="solid", color="black", weight=3]; 233 -> 38[label="",style="dashed", color="red", weight=0]; 233[label="vuz20 * vuz21",fontsize=16,color="magenta"];233 -> 253[label="",style="dashed", color="magenta", weight=3]; 233 -> 254[label="",style="dashed", color="magenta", weight=3]; 234 -> 38[label="",style="dashed", color="red", weight=0]; 234[label="vuz22 * vuz23",fontsize=16,color="magenta"];234 -> 255[label="",style="dashed", color="magenta", weight=3]; 234 -> 256[label="",style="dashed", color="magenta", weight=3]; 237[label="primQuotInt vuz32 (reduce2D vuz38 vuz33)",fontsize=16,color="burlywood",shape="box"];1484[label="vuz32/Pos vuz320",fontsize=10,color="white",style="solid",shape="box"];237 -> 1484[label="",style="solid", color="burlywood", weight=9]; 1484 -> 261[label="",style="solid", color="burlywood", weight=3]; 1485[label="vuz32/Neg vuz320",fontsize=10,color="white",style="solid",shape="box"];237 -> 1485[label="",style="solid", color="burlywood", weight=9]; 1485 -> 262[label="",style="solid", color="burlywood", weight=3]; 238[label="(Integer vuz200 * Integer vuz210 + vuz22 * vuz23) `quot` reduce2D (Integer vuz200 * Integer vuz210 + vuz22 * vuz23) (vuz23 * Integer vuz210)",fontsize=16,color="black",shape="box"];238 -> 263[label="",style="solid", color="black", weight=3]; 239[label="vuz21",fontsize=16,color="green",shape="box"];240[label="vuz23",fontsize=16,color="green",shape="box"];235 -> 38[label="",style="dashed", color="red", weight=0]; 235[label="vuz20 * vuz21",fontsize=16,color="magenta"];235 -> 257[label="",style="dashed", color="magenta", weight=3]; 235 -> 258[label="",style="dashed", color="magenta", weight=3]; 236 -> 38[label="",style="dashed", color="red", weight=0]; 236[label="vuz22 * vuz23",fontsize=16,color="magenta"];236 -> 259[label="",style="dashed", color="magenta", weight=3]; 236 -> 260[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="Integer vuz230 * Integer vuz210 `quot` reduce2D (vuz20 * Integer vuz210 + vuz22 * Integer vuz230) (Integer vuz230 * Integer vuz210)",fontsize=16,color="black",shape="box"];243 -> 264[label="",style="solid", color="black", weight=3]; 248[label="vuz21",fontsize=16,color="green",shape="box"];249[label="vuz20",fontsize=16,color="green",shape="box"];250[label="vuz23",fontsize=16,color="green",shape="box"];251[label="vuz22",fontsize=16,color="green",shape="box"];252[label="primPlusInt vuz40 vuz39",fontsize=16,color="burlywood",shape="triangle"];1486[label="vuz40/Pos vuz400",fontsize=10,color="white",style="solid",shape="box"];252 -> 1486[label="",style="solid", color="burlywood", weight=9]; 1486 -> 269[label="",style="solid", color="burlywood", weight=3]; 1487[label="vuz40/Neg vuz400",fontsize=10,color="white",style="solid",shape="box"];252 -> 1487[label="",style="solid", color="burlywood", weight=9]; 1487 -> 270[label="",style="solid", color="burlywood", weight=3]; 253[label="vuz21",fontsize=16,color="green",shape="box"];254[label="vuz20",fontsize=16,color="green",shape="box"];255[label="vuz23",fontsize=16,color="green",shape="box"];256[label="vuz22",fontsize=16,color="green",shape="box"];261[label="primQuotInt (Pos vuz320) (reduce2D vuz38 vuz33)",fontsize=16,color="black",shape="box"];261 -> 271[label="",style="solid", color="black", weight=3]; 262[label="primQuotInt (Neg vuz320) (reduce2D vuz38 vuz33)",fontsize=16,color="black",shape="box"];262 -> 272[label="",style="solid", color="black", weight=3]; 263 -> 273[label="",style="dashed", color="red", weight=0]; 263[label="(Integer (primMulInt vuz200 vuz210) + vuz22 * vuz23) `quot` reduce2D (Integer (primMulInt vuz200 vuz210) + vuz22 * vuz23) (vuz23 * Integer vuz210)",fontsize=16,color="magenta"];263 -> 274[label="",style="dashed", color="magenta", weight=3]; 263 -> 275[label="",style="dashed", color="magenta", weight=3]; 257[label="vuz21",fontsize=16,color="green",shape="box"];258[label="vuz20",fontsize=16,color="green",shape="box"];259[label="vuz23",fontsize=16,color="green",shape="box"];260[label="vuz22",fontsize=16,color="green",shape="box"];264 -> 276[label="",style="dashed", color="red", weight=0]; 264[label="Integer (primMulInt vuz230 vuz210) `quot` reduce2D (vuz20 * Integer vuz210 + vuz22 * Integer vuz230) (Integer (primMulInt vuz230 vuz210))",fontsize=16,color="magenta"];264 -> 277[label="",style="dashed", color="magenta", weight=3]; 264 -> 278[label="",style="dashed", color="magenta", weight=3]; 269[label="primPlusInt (Pos vuz400) vuz39",fontsize=16,color="burlywood",shape="box"];1488[label="vuz39/Pos vuz390",fontsize=10,color="white",style="solid",shape="box"];269 -> 1488[label="",style="solid", color="burlywood", weight=9]; 1488 -> 279[label="",style="solid", color="burlywood", weight=3]; 1489[label="vuz39/Neg vuz390",fontsize=10,color="white",style="solid",shape="box"];269 -> 1489[label="",style="solid", color="burlywood", weight=9]; 1489 -> 280[label="",style="solid", color="burlywood", weight=3]; 270[label="primPlusInt (Neg vuz400) vuz39",fontsize=16,color="burlywood",shape="box"];1490[label="vuz39/Pos vuz390",fontsize=10,color="white",style="solid",shape="box"];270 -> 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"];270 -> 1491[label="",style="solid", color="burlywood", weight=9]; 1491 -> 282[label="",style="solid", color="burlywood", weight=3]; 271 -> 415[label="",style="dashed", color="red", weight=0]; 271[label="primQuotInt (Pos vuz320) (gcd vuz38 vuz33)",fontsize=16,color="magenta"];271 -> 416[label="",style="dashed", color="magenta", weight=3]; 272 -> 443[label="",style="dashed", color="red", weight=0]; 272[label="primQuotInt (Neg vuz320) (gcd vuz38 vuz33)",fontsize=16,color="magenta"];272 -> 444[label="",style="dashed", color="magenta", weight=3]; 274 -> 56[label="",style="dashed", color="red", weight=0]; 274[label="primMulInt vuz200 vuz210",fontsize=16,color="magenta"];274 -> 285[label="",style="dashed", color="magenta", weight=3]; 274 -> 286[label="",style="dashed", color="magenta", weight=3]; 275 -> 56[label="",style="dashed", color="red", weight=0]; 275[label="primMulInt vuz200 vuz210",fontsize=16,color="magenta"];275 -> 287[label="",style="dashed", color="magenta", weight=3]; 275 -> 288[label="",style="dashed", color="magenta", weight=3]; 273[label="(Integer vuz41 + vuz22 * vuz23) `quot` reduce2D (Integer vuz42 + vuz22 * vuz23) (vuz23 * Integer vuz210)",fontsize=16,color="burlywood",shape="triangle"];1492[label="vuz22/Integer vuz220",fontsize=10,color="white",style="solid",shape="box"];273 -> 1492[label="",style="solid", color="burlywood", weight=9]; 1492 -> 289[label="",style="solid", color="burlywood", weight=3]; 277 -> 56[label="",style="dashed", color="red", weight=0]; 277[label="primMulInt vuz230 vuz210",fontsize=16,color="magenta"];277 -> 290[label="",style="dashed", color="magenta", weight=3]; 277 -> 291[label="",style="dashed", color="magenta", weight=3]; 278 -> 56[label="",style="dashed", color="red", weight=0]; 278[label="primMulInt vuz230 vuz210",fontsize=16,color="magenta"];278 -> 292[label="",style="dashed", color="magenta", weight=3]; 278 -> 293[label="",style="dashed", color="magenta", weight=3]; 276[label="Integer vuz43 `quot` reduce2D (vuz20 * Integer vuz210 + vuz22 * Integer vuz230) (Integer vuz44)",fontsize=16,color="black",shape="triangle"];276 -> 294[label="",style="solid", color="black", weight=3]; 279[label="primPlusInt (Pos vuz400) (Pos vuz390)",fontsize=16,color="black",shape="box"];279 -> 295[label="",style="solid", color="black", weight=3]; 280[label="primPlusInt (Pos vuz400) (Neg vuz390)",fontsize=16,color="black",shape="box"];280 -> 296[label="",style="solid", color="black", weight=3]; 281[label="primPlusInt (Neg vuz400) (Pos vuz390)",fontsize=16,color="black",shape="box"];281 -> 297[label="",style="solid", color="black", weight=3]; 282[label="primPlusInt (Neg vuz400) (Neg vuz390)",fontsize=16,color="black",shape="box"];282 -> 298[label="",style="solid", color="black", weight=3]; 416[label="gcd vuz38 vuz33",fontsize=16,color="black",shape="triangle"];416 -> 432[label="",style="solid", color="black", weight=3]; 415[label="primQuotInt (Pos vuz320) vuz65",fontsize=16,color="burlywood",shape="triangle"];1493[label="vuz65/Pos vuz650",fontsize=10,color="white",style="solid",shape="box"];415 -> 1493[label="",style="solid", color="burlywood", weight=9]; 1493 -> 433[label="",style="solid", color="burlywood", weight=3]; 1494[label="vuz65/Neg vuz650",fontsize=10,color="white",style="solid",shape="box"];415 -> 1494[label="",style="solid", color="burlywood", weight=9]; 1494 -> 434[label="",style="solid", color="burlywood", weight=3]; 444 -> 416[label="",style="dashed", color="red", weight=0]; 444[label="gcd vuz38 vuz33",fontsize=16,color="magenta"];443[label="primQuotInt (Neg vuz320) vuz68",fontsize=16,color="burlywood",shape="triangle"];1495[label="vuz68/Pos vuz680",fontsize=10,color="white",style="solid",shape="box"];443 -> 1495[label="",style="solid", color="burlywood", weight=9]; 1495 -> 460[label="",style="solid", color="burlywood", weight=3]; 1496[label="vuz68/Neg vuz680",fontsize=10,color="white",style="solid",shape="box"];443 -> 1496[label="",style="solid", color="burlywood", weight=9]; 1496 -> 461[label="",style="solid", color="burlywood", weight=3]; 285[label="vuz210",fontsize=16,color="green",shape="box"];286[label="vuz200",fontsize=16,color="green",shape="box"];287[label="vuz210",fontsize=16,color="green",shape="box"];288[label="vuz200",fontsize=16,color="green",shape="box"];289[label="(Integer vuz41 + Integer vuz220 * vuz23) `quot` reduce2D (Integer vuz42 + Integer vuz220 * vuz23) (vuz23 * Integer vuz210)",fontsize=16,color="burlywood",shape="box"];1497[label="vuz23/Integer vuz230",fontsize=10,color="white",style="solid",shape="box"];289 -> 1497[label="",style="solid", color="burlywood", weight=9]; 1497 -> 301[label="",style="solid", color="burlywood", weight=3]; 290[label="vuz210",fontsize=16,color="green",shape="box"];291[label="vuz230",fontsize=16,color="green",shape="box"];292[label="vuz210",fontsize=16,color="green",shape="box"];293[label="vuz230",fontsize=16,color="green",shape="box"];294[label="Integer vuz43 `quot` gcd (vuz20 * Integer vuz210 + vuz22 * Integer vuz230) (Integer vuz44)",fontsize=16,color="black",shape="box"];294 -> 302[label="",style="solid", color="black", weight=3]; 295[label="Pos (primPlusNat vuz400 vuz390)",fontsize=16,color="green",shape="box"];295 -> 303[label="",style="dashed", color="green", weight=3]; 296 -> 31[label="",style="dashed", color="red", weight=0]; 296[label="primMinusNat vuz400 vuz390",fontsize=16,color="magenta"];296 -> 304[label="",style="dashed", color="magenta", weight=3]; 296 -> 305[label="",style="dashed", color="magenta", weight=3]; 297 -> 31[label="",style="dashed", color="red", weight=0]; 297[label="primMinusNat vuz390 vuz400",fontsize=16,color="magenta"];297 -> 306[label="",style="dashed", color="magenta", weight=3]; 297 -> 307[label="",style="dashed", color="magenta", weight=3]; 298[label="Neg (primPlusNat vuz400 vuz390)",fontsize=16,color="green",shape="box"];298 -> 308[label="",style="dashed", color="green", weight=3]; 432[label="gcd3 vuz38 vuz33",fontsize=16,color="black",shape="box"];432 -> 438[label="",style="solid", color="black", weight=3]; 433[label="primQuotInt (Pos vuz320) (Pos vuz650)",fontsize=16,color="burlywood",shape="box"];1498[label="vuz650/Succ vuz6500",fontsize=10,color="white",style="solid",shape="box"];433 -> 1498[label="",style="solid", color="burlywood", weight=9]; 1498 -> 439[label="",style="solid", color="burlywood", weight=3]; 1499[label="vuz650/Zero",fontsize=10,color="white",style="solid",shape="box"];433 -> 1499[label="",style="solid", color="burlywood", weight=9]; 1499 -> 440[label="",style="solid", color="burlywood", weight=3]; 434[label="primQuotInt (Pos vuz320) (Neg vuz650)",fontsize=16,color="burlywood",shape="box"];1500[label="vuz650/Succ vuz6500",fontsize=10,color="white",style="solid",shape="box"];434 -> 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"];434 -> 1501[label="",style="solid", color="burlywood", weight=9]; 1501 -> 442[label="",style="solid", color="burlywood", weight=3]; 460[label="primQuotInt (Neg vuz320) (Pos vuz680)",fontsize=16,color="burlywood",shape="box"];1502[label="vuz680/Succ vuz6800",fontsize=10,color="white",style="solid",shape="box"];460 -> 1502[label="",style="solid", color="burlywood", weight=9]; 1502 -> 464[label="",style="solid", color="burlywood", weight=3]; 1503[label="vuz680/Zero",fontsize=10,color="white",style="solid",shape="box"];460 -> 1503[label="",style="solid", color="burlywood", weight=9]; 1503 -> 465[label="",style="solid", color="burlywood", weight=3]; 461[label="primQuotInt (Neg vuz320) (Neg vuz680)",fontsize=16,color="burlywood",shape="box"];1504[label="vuz680/Succ vuz6800",fontsize=10,color="white",style="solid",shape="box"];461 -> 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"];461 -> 1505[label="",style="solid", color="burlywood", weight=9]; 1505 -> 467[label="",style="solid", color="burlywood", weight=3]; 301[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"];301 -> 313[label="",style="solid", color="black", weight=3]; 302[label="Integer vuz43 `quot` gcd3 (vuz20 * Integer vuz210 + vuz22 * Integer vuz230) (Integer vuz44)",fontsize=16,color="black",shape="box"];302 -> 314[label="",style="solid", color="black", weight=3]; 303 -> 43[label="",style="dashed", color="red", weight=0]; 303[label="primPlusNat vuz400 vuz390",fontsize=16,color="magenta"];303 -> 315[label="",style="dashed", color="magenta", weight=3]; 303 -> 316[label="",style="dashed", color="magenta", weight=3]; 304[label="vuz400",fontsize=16,color="green",shape="box"];305[label="vuz390",fontsize=16,color="green",shape="box"];306[label="vuz390",fontsize=16,color="green",shape="box"];307[label="vuz400",fontsize=16,color="green",shape="box"];308 -> 43[label="",style="dashed", color="red", weight=0]; 308[label="primPlusNat vuz400 vuz390",fontsize=16,color="magenta"];308 -> 317[label="",style="dashed", color="magenta", weight=3]; 308 -> 318[label="",style="dashed", color="magenta", weight=3]; 438 -> 462[label="",style="dashed", color="red", weight=0]; 438[label="gcd2 (vuz38 == fromInt (Pos Zero)) vuz38 vuz33",fontsize=16,color="magenta"];438 -> 463[label="",style="dashed", color="magenta", weight=3]; 439[label="primQuotInt (Pos vuz320) (Pos (Succ vuz6500))",fontsize=16,color="black",shape="box"];439 -> 468[label="",style="solid", color="black", weight=3]; 440[label="primQuotInt (Pos vuz320) (Pos Zero)",fontsize=16,color="black",shape="box"];440 -> 469[label="",style="solid", color="black", weight=3]; 441[label="primQuotInt (Pos vuz320) (Neg (Succ vuz6500))",fontsize=16,color="black",shape="box"];441 -> 470[label="",style="solid", color="black", weight=3]; 442[label="primQuotInt (Pos vuz320) (Neg Zero)",fontsize=16,color="black",shape="box"];442 -> 471[label="",style="solid", color="black", weight=3]; 464[label="primQuotInt (Neg vuz320) (Pos (Succ vuz6800))",fontsize=16,color="black",shape="box"];464 -> 482[label="",style="solid", color="black", weight=3]; 465[label="primQuotInt (Neg vuz320) (Pos Zero)",fontsize=16,color="black",shape="box"];465 -> 483[label="",style="solid", color="black", weight=3]; 466[label="primQuotInt (Neg vuz320) (Neg (Succ vuz6800))",fontsize=16,color="black",shape="box"];466 -> 484[label="",style="solid", color="black", weight=3]; 467[label="primQuotInt (Neg vuz320) (Neg Zero)",fontsize=16,color="black",shape="box"];467 -> 485[label="",style="solid", color="black", weight=3]; 313 -> 325[label="",style="dashed", color="red", weight=0]; 313[label="(Integer vuz41 + Integer (primMulInt vuz220 vuz230)) `quot` reduce2D (Integer vuz42 + Integer (primMulInt vuz220 vuz230)) (Integer vuz230 * Integer vuz210)",fontsize=16,color="magenta"];313 -> 326[label="",style="dashed", color="magenta", weight=3]; 313 -> 327[label="",style="dashed", color="magenta", weight=3]; 314[label="Integer vuz43 `quot` gcd2 (vuz20 * Integer vuz210 + vuz22 * Integer vuz230 == fromInt (Pos Zero)) (vuz20 * Integer vuz210 + vuz22 * Integer vuz230) (Integer vuz44)",fontsize=16,color="burlywood",shape="box"];1506[label="vuz20/Integer vuz200",fontsize=10,color="white",style="solid",shape="box"];314 -> 1506[label="",style="solid", color="burlywood", weight=9]; 1506 -> 328[label="",style="solid", color="burlywood", weight=3]; 315[label="vuz390",fontsize=16,color="green",shape="box"];316[label="vuz400",fontsize=16,color="green",shape="box"];317[label="vuz390",fontsize=16,color="green",shape="box"];318[label="vuz400",fontsize=16,color="green",shape="box"];463 -> 137[label="",style="dashed", color="red", weight=0]; 463[label="vuz38 == fromInt (Pos Zero)",fontsize=16,color="magenta"];463 -> 472[label="",style="dashed", color="magenta", weight=3]; 462[label="gcd2 vuz69 vuz38 vuz33",fontsize=16,color="burlywood",shape="triangle"];1507[label="vuz69/False",fontsize=10,color="white",style="solid",shape="box"];462 -> 1507[label="",style="solid", color="burlywood", weight=9]; 1507 -> 473[label="",style="solid", color="burlywood", weight=3]; 1508[label="vuz69/True",fontsize=10,color="white",style="solid",shape="box"];462 -> 1508[label="",style="solid", color="burlywood", weight=9]; 1508 -> 474[label="",style="solid", color="burlywood", weight=3]; 468[label="Pos (primDivNatS vuz320 (Succ vuz6500))",fontsize=16,color="green",shape="box"];468 -> 486[label="",style="dashed", color="green", weight=3]; 469[label="error []",fontsize=16,color="black",shape="triangle"];469 -> 487[label="",style="solid", color="black", weight=3]; 470[label="Neg (primDivNatS vuz320 (Succ vuz6500))",fontsize=16,color="green",shape="box"];470 -> 488[label="",style="dashed", color="green", weight=3]; 471 -> 469[label="",style="dashed", color="red", weight=0]; 471[label="error []",fontsize=16,color="magenta"];482[label="Neg (primDivNatS vuz320 (Succ vuz6800))",fontsize=16,color="green",shape="box"];482 -> 494[label="",style="dashed", color="green", weight=3]; 483 -> 469[label="",style="dashed", color="red", weight=0]; 483[label="error []",fontsize=16,color="magenta"];484[label="Pos (primDivNatS vuz320 (Succ vuz6800))",fontsize=16,color="green",shape="box"];484 -> 495[label="",style="dashed", color="green", weight=3]; 485 -> 469[label="",style="dashed", color="red", weight=0]; 485[label="error []",fontsize=16,color="magenta"];326 -> 56[label="",style="dashed", color="red", weight=0]; 326[label="primMulInt vuz220 vuz230",fontsize=16,color="magenta"];326 -> 333[label="",style="dashed", color="magenta", weight=3]; 326 -> 334[label="",style="dashed", color="magenta", weight=3]; 327 -> 56[label="",style="dashed", color="red", weight=0]; 327[label="primMulInt vuz220 vuz230",fontsize=16,color="magenta"];327 -> 335[label="",style="dashed", color="magenta", weight=3]; 327 -> 336[label="",style="dashed", color="magenta", weight=3]; 325[label="(Integer vuz41 + Integer vuz47) `quot` reduce2D (Integer vuz42 + Integer vuz48) (Integer vuz230 * Integer vuz210)",fontsize=16,color="black",shape="triangle"];325 -> 337[label="",style="solid", color="black", weight=3]; 328[label="Integer vuz43 `quot` gcd2 (Integer vuz200 * Integer vuz210 + vuz22 * Integer vuz230 == fromInt (Pos Zero)) (Integer vuz200 * Integer vuz210 + vuz22 * Integer vuz230) (Integer vuz44)",fontsize=16,color="black",shape="box"];328 -> 338[label="",style="solid", color="black", weight=3]; 472[label="vuz38",fontsize=16,color="green",shape="box"];473[label="gcd2 False vuz38 vuz33",fontsize=16,color="black",shape="box"];473 -> 489[label="",style="solid", color="black", weight=3]; 474[label="gcd2 True vuz38 vuz33",fontsize=16,color="black",shape="box"];474 -> 490[label="",style="solid", color="black", weight=3]; 486[label="primDivNatS vuz320 (Succ vuz6500)",fontsize=16,color="burlywood",shape="triangle"];1509[label="vuz320/Succ vuz3200",fontsize=10,color="white",style="solid",shape="box"];486 -> 1509[label="",style="solid", color="burlywood", weight=9]; 1509 -> 496[label="",style="solid", color="burlywood", weight=3]; 1510[label="vuz320/Zero",fontsize=10,color="white",style="solid",shape="box"];486 -> 1510[label="",style="solid", color="burlywood", weight=9]; 1510 -> 497[label="",style="solid", color="burlywood", weight=3]; 487[label="error []",fontsize=16,color="red",shape="box"];488 -> 486[label="",style="dashed", color="red", weight=0]; 488[label="primDivNatS vuz320 (Succ vuz6500)",fontsize=16,color="magenta"];488 -> 498[label="",style="dashed", color="magenta", weight=3]; 494 -> 486[label="",style="dashed", color="red", weight=0]; 494[label="primDivNatS vuz320 (Succ vuz6800)",fontsize=16,color="magenta"];494 -> 502[label="",style="dashed", color="magenta", weight=3]; 494 -> 503[label="",style="dashed", color="magenta", weight=3]; 495 -> 486[label="",style="dashed", color="red", weight=0]; 495[label="primDivNatS vuz320 (Succ vuz6800)",fontsize=16,color="magenta"];495 -> 504[label="",style="dashed", color="magenta", weight=3]; 495 -> 505[label="",style="dashed", color="magenta", weight=3]; 333[label="vuz230",fontsize=16,color="green",shape="box"];334[label="vuz220",fontsize=16,color="green",shape="box"];335[label="vuz230",fontsize=16,color="green",shape="box"];336[label="vuz220",fontsize=16,color="green",shape="box"];337 -> 345[label="",style="dashed", color="red", weight=0]; 337[label="Integer (primPlusInt vuz41 vuz47) `quot` reduce2D (Integer (primPlusInt vuz41 vuz47)) (Integer vuz230 * Integer vuz210)",fontsize=16,color="magenta"];337 -> 346[label="",style="dashed", color="magenta", weight=3]; 337 -> 347[label="",style="dashed", color="magenta", weight=3]; 338 -> 348[label="",style="dashed", color="red", weight=0]; 338[label="Integer vuz43 `quot` gcd2 (Integer (primMulInt vuz200 vuz210) + vuz22 * Integer vuz230 == fromInt (Pos Zero)) (Integer (primMulInt vuz200 vuz210) + vuz22 * Integer vuz230) (Integer vuz44)",fontsize=16,color="magenta"];338 -> 349[label="",style="dashed", color="magenta", weight=3]; 338 -> 350[label="",style="dashed", color="magenta", weight=3]; 489[label="gcd0 vuz38 vuz33",fontsize=16,color="black",shape="triangle"];489 -> 499[label="",style="solid", color="black", weight=3]; 490 -> 500[label="",style="dashed", color="red", weight=0]; 490[label="gcd1 (vuz33 == fromInt (Pos Zero)) vuz38 vuz33",fontsize=16,color="magenta"];490 -> 501[label="",style="dashed", color="magenta", weight=3]; 496[label="primDivNatS (Succ vuz3200) (Succ vuz6500)",fontsize=16,color="black",shape="box"];496 -> 506[label="",style="solid", color="black", weight=3]; 497[label="primDivNatS Zero (Succ vuz6500)",fontsize=16,color="black",shape="box"];497 -> 507[label="",style="solid", color="black", weight=3]; 498[label="vuz6500",fontsize=16,color="green",shape="box"];502[label="vuz320",fontsize=16,color="green",shape="box"];503[label="vuz6800",fontsize=16,color="green",shape="box"];504[label="vuz320",fontsize=16,color="green",shape="box"];505[label="vuz6800",fontsize=16,color="green",shape="box"];346 -> 252[label="",style="dashed", color="red", weight=0]; 346[label="primPlusInt vuz41 vuz47",fontsize=16,color="magenta"];346 -> 359[label="",style="dashed", color="magenta", weight=3]; 346 -> 360[label="",style="dashed", color="magenta", weight=3]; 347 -> 252[label="",style="dashed", color="red", weight=0]; 347[label="primPlusInt vuz41 vuz47",fontsize=16,color="magenta"];347 -> 361[label="",style="dashed", color="magenta", weight=3]; 347 -> 362[label="",style="dashed", color="magenta", weight=3]; 345[label="Integer vuz51 `quot` reduce2D (Integer vuz52) (Integer vuz230 * Integer vuz210)",fontsize=16,color="black",shape="triangle"];345 -> 363[label="",style="solid", color="black", weight=3]; 349 -> 56[label="",style="dashed", color="red", weight=0]; 349[label="primMulInt vuz200 vuz210",fontsize=16,color="magenta"];349 -> 364[label="",style="dashed", color="magenta", weight=3]; 349 -> 365[label="",style="dashed", color="magenta", weight=3]; 350 -> 56[label="",style="dashed", color="red", weight=0]; 350[label="primMulInt vuz200 vuz210",fontsize=16,color="magenta"];350 -> 366[label="",style="dashed", color="magenta", weight=3]; 350 -> 367[label="",style="dashed", color="magenta", weight=3]; 348[label="Integer vuz43 `quot` gcd2 (Integer vuz54 + vuz22 * Integer vuz230 == fromInt (Pos Zero)) (Integer vuz53 + vuz22 * Integer vuz230) (Integer vuz44)",fontsize=16,color="burlywood",shape="triangle"];1511[label="vuz22/Integer vuz220",fontsize=10,color="white",style="solid",shape="box"];348 -> 1511[label="",style="solid", color="burlywood", weight=9]; 1511 -> 368[label="",style="solid", color="burlywood", weight=3]; 499[label="gcd0Gcd' (abs vuz38) (abs vuz33)",fontsize=16,color="black",shape="box"];499 -> 508[label="",style="solid", color="black", weight=3]; 501 -> 137[label="",style="dashed", color="red", weight=0]; 501[label="vuz33 == fromInt (Pos Zero)",fontsize=16,color="magenta"];501 -> 509[label="",style="dashed", color="magenta", weight=3]; 500[label="gcd1 vuz71 vuz38 vuz33",fontsize=16,color="burlywood",shape="triangle"];1512[label="vuz71/False",fontsize=10,color="white",style="solid",shape="box"];500 -> 1512[label="",style="solid", color="burlywood", weight=9]; 1512 -> 510[label="",style="solid", color="burlywood", weight=3]; 1513[label="vuz71/True",fontsize=10,color="white",style="solid",shape="box"];500 -> 1513[label="",style="solid", color="burlywood", weight=9]; 1513 -> 511[label="",style="solid", color="burlywood", weight=3]; 506[label="primDivNatS0 vuz3200 vuz6500 (primGEqNatS vuz3200 vuz6500)",fontsize=16,color="burlywood",shape="box"];1514[label="vuz3200/Succ vuz32000",fontsize=10,color="white",style="solid",shape="box"];506 -> 1514[label="",style="solid", color="burlywood", weight=9]; 1514 -> 521[label="",style="solid", color="burlywood", weight=3]; 1515[label="vuz3200/Zero",fontsize=10,color="white",style="solid",shape="box"];506 -> 1515[label="",style="solid", color="burlywood", weight=9]; 1515 -> 522[label="",style="solid", color="burlywood", weight=3]; 507[label="Zero",fontsize=16,color="green",shape="box"];359[label="vuz41",fontsize=16,color="green",shape="box"];360[label="vuz47",fontsize=16,color="green",shape="box"];361[label="vuz41",fontsize=16,color="green",shape="box"];362[label="vuz47",fontsize=16,color="green",shape="box"];363[label="Integer vuz51 `quot` gcd (Integer vuz52) (Integer vuz230 * Integer vuz210)",fontsize=16,color="black",shape="box"];363 -> 375[label="",style="solid", color="black", weight=3]; 364[label="vuz210",fontsize=16,color="green",shape="box"];365[label="vuz200",fontsize=16,color="green",shape="box"];366[label="vuz210",fontsize=16,color="green",shape="box"];367[label="vuz200",fontsize=16,color="green",shape="box"];368[label="Integer vuz43 `quot` gcd2 (Integer vuz54 + Integer vuz220 * Integer vuz230 == fromInt (Pos Zero)) (Integer vuz53 + Integer vuz220 * Integer vuz230) (Integer vuz44)",fontsize=16,color="black",shape="box"];368 -> 376[label="",style="solid", color="black", weight=3]; 508[label="gcd0Gcd'2 (abs vuz38) (abs vuz33)",fontsize=16,color="black",shape="box"];508 -> 523[label="",style="solid", color="black", weight=3]; 509[label="vuz33",fontsize=16,color="green",shape="box"];510[label="gcd1 False vuz38 vuz33",fontsize=16,color="black",shape="box"];510 -> 524[label="",style="solid", color="black", weight=3]; 511[label="gcd1 True vuz38 vuz33",fontsize=16,color="black",shape="box"];511 -> 525[label="",style="solid", color="black", weight=3]; 521[label="primDivNatS0 (Succ vuz32000) vuz6500 (primGEqNatS (Succ vuz32000) vuz6500)",fontsize=16,color="burlywood",shape="box"];1516[label="vuz6500/Succ vuz65000",fontsize=10,color="white",style="solid",shape="box"];521 -> 1516[label="",style="solid", color="burlywood", weight=9]; 1516 -> 529[label="",style="solid", color="burlywood", weight=3]; 1517[label="vuz6500/Zero",fontsize=10,color="white",style="solid",shape="box"];521 -> 1517[label="",style="solid", color="burlywood", weight=9]; 1517 -> 530[label="",style="solid", color="burlywood", weight=3]; 522[label="primDivNatS0 Zero vuz6500 (primGEqNatS Zero vuz6500)",fontsize=16,color="burlywood",shape="box"];1518[label="vuz6500/Succ vuz65000",fontsize=10,color="white",style="solid",shape="box"];522 -> 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"];522 -> 1519[label="",style="solid", color="burlywood", weight=9]; 1519 -> 532[label="",style="solid", color="burlywood", weight=3]; 375[label="Integer vuz51 `quot` gcd3 (Integer vuz52) (Integer vuz230 * Integer vuz210)",fontsize=16,color="black",shape="box"];375 -> 383[label="",style="solid", color="black", weight=3]; 376 -> 384[label="",style="dashed", color="red", weight=0]; 376[label="Integer vuz43 `quot` gcd2 (Integer vuz54 + Integer (primMulInt vuz220 vuz230) == fromInt (Pos Zero)) (Integer vuz53 + Integer (primMulInt vuz220 vuz230)) (Integer vuz44)",fontsize=16,color="magenta"];376 -> 385[label="",style="dashed", color="magenta", weight=3]; 376 -> 386[label="",style="dashed", color="magenta", weight=3]; 523 -> 533[label="",style="dashed", color="red", weight=0]; 523[label="gcd0Gcd'1 (abs vuz33 == fromInt (Pos Zero)) (abs vuz38) (abs vuz33)",fontsize=16,color="magenta"];523 -> 534[label="",style="dashed", color="magenta", weight=3]; 524 -> 489[label="",style="dashed", color="red", weight=0]; 524[label="gcd0 vuz38 vuz33",fontsize=16,color="magenta"];525 -> 469[label="",style="dashed", color="red", weight=0]; 525[label="error []",fontsize=16,color="magenta"];529[label="primDivNatS0 (Succ vuz32000) (Succ vuz65000) (primGEqNatS (Succ vuz32000) (Succ vuz65000))",fontsize=16,color="black",shape="box"];529 -> 535[label="",style="solid", color="black", weight=3]; 530[label="primDivNatS0 (Succ vuz32000) Zero (primGEqNatS (Succ vuz32000) Zero)",fontsize=16,color="black",shape="box"];530 -> 536[label="",style="solid", color="black", weight=3]; 531[label="primDivNatS0 Zero (Succ vuz65000) (primGEqNatS Zero (Succ vuz65000))",fontsize=16,color="black",shape="box"];531 -> 537[label="",style="solid", color="black", weight=3]; 532[label="primDivNatS0 Zero Zero (primGEqNatS Zero Zero)",fontsize=16,color="black",shape="box"];532 -> 538[label="",style="solid", color="black", weight=3]; 383 -> 393[label="",style="dashed", color="red", weight=0]; 383[label="Integer vuz51 `quot` gcd2 (Integer vuz52 == fromInt (Pos Zero)) (Integer vuz52) (Integer vuz230 * Integer vuz210)",fontsize=16,color="magenta"];383 -> 394[label="",style="dashed", color="magenta", weight=3]; 385 -> 56[label="",style="dashed", color="red", weight=0]; 385[label="primMulInt vuz220 vuz230",fontsize=16,color="magenta"];385 -> 395[label="",style="dashed", color="magenta", weight=3]; 385 -> 396[label="",style="dashed", color="magenta", weight=3]; 386 -> 56[label="",style="dashed", color="red", weight=0]; 386[label="primMulInt vuz220 vuz230",fontsize=16,color="magenta"];386 -> 397[label="",style="dashed", color="magenta", weight=3]; 386 -> 398[label="",style="dashed", color="magenta", weight=3]; 384[label="Integer vuz43 `quot` gcd2 (Integer vuz54 + Integer vuz58 == fromInt (Pos Zero)) (Integer vuz53 + Integer vuz57) (Integer vuz44)",fontsize=16,color="black",shape="triangle"];384 -> 399[label="",style="solid", color="black", weight=3]; 534 -> 137[label="",style="dashed", color="red", weight=0]; 534[label="abs vuz33 == fromInt (Pos Zero)",fontsize=16,color="magenta"];534 -> 539[label="",style="dashed", color="magenta", weight=3]; 533[label="gcd0Gcd'1 vuz73 (abs vuz38) (abs vuz33)",fontsize=16,color="burlywood",shape="triangle"];1520[label="vuz73/False",fontsize=10,color="white",style="solid",shape="box"];533 -> 1520[label="",style="solid", color="burlywood", weight=9]; 1520 -> 540[label="",style="solid", color="burlywood", weight=3]; 1521[label="vuz73/True",fontsize=10,color="white",style="solid",shape="box"];533 -> 1521[label="",style="solid", color="burlywood", weight=9]; 1521 -> 541[label="",style="solid", color="burlywood", weight=3]; 535 -> 869[label="",style="dashed", color="red", weight=0]; 535[label="primDivNatS0 (Succ vuz32000) (Succ vuz65000) (primGEqNatS vuz32000 vuz65000)",fontsize=16,color="magenta"];535 -> 870[label="",style="dashed", color="magenta", weight=3]; 535 -> 871[label="",style="dashed", color="magenta", weight=3]; 535 -> 872[label="",style="dashed", color="magenta", weight=3]; 535 -> 873[label="",style="dashed", color="magenta", weight=3]; 536[label="primDivNatS0 (Succ vuz32000) Zero True",fontsize=16,color="black",shape="box"];536 -> 551[label="",style="solid", color="black", weight=3]; 537[label="primDivNatS0 Zero (Succ vuz65000) False",fontsize=16,color="black",shape="box"];537 -> 552[label="",style="solid", color="black", weight=3]; 538[label="primDivNatS0 Zero Zero True",fontsize=16,color="black",shape="box"];538 -> 553[label="",style="solid", color="black", weight=3]; 394 -> 1058[label="",style="dashed", color="red", weight=0]; 394[label="Integer vuz52 == fromInt (Pos Zero)",fontsize=16,color="magenta"];394 -> 1062[label="",style="dashed", color="magenta", weight=3]; 393[label="Integer vuz51 `quot` gcd2 vuz59 (Integer vuz52) (Integer vuz230 * Integer vuz210)",fontsize=16,color="burlywood",shape="triangle"];1522[label="vuz59/False",fontsize=10,color="white",style="solid",shape="box"];393 -> 1522[label="",style="solid", color="burlywood", weight=9]; 1522 -> 406[label="",style="solid", color="burlywood", weight=3]; 1523[label="vuz59/True",fontsize=10,color="white",style="solid",shape="box"];393 -> 1523[label="",style="solid", color="burlywood", weight=9]; 1523 -> 407[label="",style="solid", color="burlywood", weight=3]; 395[label="vuz230",fontsize=16,color="green",shape="box"];396[label="vuz220",fontsize=16,color="green",shape="box"];397[label="vuz230",fontsize=16,color="green",shape="box"];398[label="vuz220",fontsize=16,color="green",shape="box"];399 -> 408[label="",style="dashed", color="red", weight=0]; 399[label="Integer vuz43 `quot` gcd2 (Integer (primPlusInt vuz54 vuz58) == fromInt (Pos Zero)) (Integer (primPlusInt vuz54 vuz58)) (Integer vuz44)",fontsize=16,color="magenta"];399 -> 409[label="",style="dashed", color="magenta", weight=3]; 399 -> 410[label="",style="dashed", color="magenta", weight=3]; 539[label="abs vuz33",fontsize=16,color="black",shape="triangle"];539 -> 554[label="",style="solid", color="black", weight=3]; 540[label="gcd0Gcd'1 False (abs vuz38) (abs vuz33)",fontsize=16,color="black",shape="box"];540 -> 555[label="",style="solid", color="black", weight=3]; 541[label="gcd0Gcd'1 True (abs vuz38) (abs vuz33)",fontsize=16,color="black",shape="box"];541 -> 556[label="",style="solid", color="black", weight=3]; 870[label="vuz32000",fontsize=16,color="green",shape="box"];871[label="vuz65000",fontsize=16,color="green",shape="box"];872[label="vuz32000",fontsize=16,color="green",shape="box"];873[label="vuz65000",fontsize=16,color="green",shape="box"];869[label="primDivNatS0 (Succ vuz97) (Succ vuz98) (primGEqNatS vuz99 vuz100)",fontsize=16,color="burlywood",shape="triangle"];1524[label="vuz99/Succ vuz990",fontsize=10,color="white",style="solid",shape="box"];869 -> 1524[label="",style="solid", color="burlywood", weight=9]; 1524 -> 902[label="",style="solid", color="burlywood", weight=3]; 1525[label="vuz99/Zero",fontsize=10,color="white",style="solid",shape="box"];869 -> 1525[label="",style="solid", color="burlywood", weight=9]; 1525 -> 903[label="",style="solid", color="burlywood", weight=3]; 551[label="Succ (primDivNatS (primMinusNatS (Succ vuz32000) Zero) (Succ Zero))",fontsize=16,color="green",shape="box"];551 -> 566[label="",style="dashed", color="green", weight=3]; 552[label="Zero",fontsize=16,color="green",shape="box"];553[label="Succ (primDivNatS (primMinusNatS Zero Zero) (Succ Zero))",fontsize=16,color="green",shape="box"];553 -> 567[label="",style="dashed", color="green", weight=3]; 1062[label="Integer vuz52",fontsize=16,color="green",shape="box"];406[label="Integer vuz51 `quot` gcd2 False (Integer vuz52) (Integer vuz230 * Integer vuz210)",fontsize=16,color="black",shape="box"];406 -> 475[label="",style="solid", color="black", weight=3]; 407[label="Integer vuz51 `quot` gcd2 True (Integer vuz52) (Integer vuz230 * Integer vuz210)",fontsize=16,color="black",shape="box"];407 -> 476[label="",style="solid", color="black", weight=3]; 409 -> 1058[label="",style="dashed", color="red", weight=0]; 409[label="Integer (primPlusInt vuz54 vuz58) == fromInt (Pos Zero)",fontsize=16,color="magenta"];409 -> 1063[label="",style="dashed", color="magenta", weight=3]; 410 -> 252[label="",style="dashed", color="red", weight=0]; 410[label="primPlusInt vuz54 vuz58",fontsize=16,color="magenta"];410 -> 478[label="",style="dashed", color="magenta", weight=3]; 410 -> 479[label="",style="dashed", color="magenta", weight=3]; 408[label="Integer vuz43 `quot` gcd2 vuz60 (Integer vuz61) (Integer vuz44)",fontsize=16,color="burlywood",shape="triangle"];1526[label="vuz60/False",fontsize=10,color="white",style="solid",shape="box"];408 -> 1526[label="",style="solid", color="burlywood", weight=9]; 1526 -> 480[label="",style="solid", color="burlywood", weight=3]; 1527[label="vuz60/True",fontsize=10,color="white",style="solid",shape="box"];408 -> 1527[label="",style="solid", color="burlywood", weight=9]; 1527 -> 481[label="",style="solid", color="burlywood", weight=3]; 554[label="absReal vuz33",fontsize=16,color="black",shape="box"];554 -> 568[label="",style="solid", color="black", weight=3]; 555 -> 569[label="",style="dashed", color="red", weight=0]; 555[label="gcd0Gcd'0 (abs vuz38) (abs vuz33)",fontsize=16,color="magenta"];555 -> 570[label="",style="dashed", color="magenta", weight=3]; 555 -> 571[label="",style="dashed", color="magenta", weight=3]; 556 -> 539[label="",style="dashed", color="red", weight=0]; 556[label="abs vuz38",fontsize=16,color="magenta"];556 -> 572[label="",style="dashed", color="magenta", weight=3]; 902[label="primDivNatS0 (Succ vuz97) (Succ vuz98) (primGEqNatS (Succ vuz990) vuz100)",fontsize=16,color="burlywood",shape="box"];1528[label="vuz100/Succ vuz1000",fontsize=10,color="white",style="solid",shape="box"];902 -> 1528[label="",style="solid", color="burlywood", weight=9]; 1528 -> 914[label="",style="solid", color="burlywood", weight=3]; 1529[label="vuz100/Zero",fontsize=10,color="white",style="solid",shape="box"];902 -> 1529[label="",style="solid", color="burlywood", weight=9]; 1529 -> 915[label="",style="solid", color="burlywood", weight=3]; 903[label="primDivNatS0 (Succ vuz97) (Succ vuz98) (primGEqNatS Zero vuz100)",fontsize=16,color="burlywood",shape="box"];1530[label="vuz100/Succ vuz1000",fontsize=10,color="white",style="solid",shape="box"];903 -> 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"];903 -> 1531[label="",style="solid", color="burlywood", weight=9]; 1531 -> 917[label="",style="solid", color="burlywood", weight=3]; 566 -> 486[label="",style="dashed", color="red", weight=0]; 566[label="primDivNatS (primMinusNatS (Succ vuz32000) Zero) (Succ Zero)",fontsize=16,color="magenta"];566 -> 577[label="",style="dashed", color="magenta", weight=3]; 566 -> 578[label="",style="dashed", color="magenta", weight=3]; 567 -> 486[label="",style="dashed", color="red", weight=0]; 567[label="primDivNatS (primMinusNatS Zero Zero) (Succ Zero)",fontsize=16,color="magenta"];567 -> 579[label="",style="dashed", color="magenta", weight=3]; 567 -> 580[label="",style="dashed", color="magenta", weight=3]; 475[label="Integer vuz51 `quot` gcd0 (Integer vuz52) (Integer vuz230 * Integer vuz210)",fontsize=16,color="black",shape="triangle"];475 -> 491[label="",style="solid", color="black", weight=3]; 476 -> 492[label="",style="dashed", color="red", weight=0]; 476[label="Integer vuz51 `quot` gcd1 (Integer vuz230 * Integer vuz210 == fromInt (Pos Zero)) (Integer vuz52) (Integer vuz230 * Integer vuz210)",fontsize=16,color="magenta"];476 -> 493[label="",style="dashed", color="magenta", weight=3]; 1063[label="Integer (primPlusInt vuz54 vuz58)",fontsize=16,color="green",shape="box"];1063 -> 1071[label="",style="dashed", color="green", weight=3]; 478[label="vuz54",fontsize=16,color="green",shape="box"];479[label="vuz58",fontsize=16,color="green",shape="box"];480[label="Integer vuz43 `quot` gcd2 False (Integer vuz61) (Integer vuz44)",fontsize=16,color="black",shape="box"];480 -> 514[label="",style="solid", color="black", weight=3]; 481[label="Integer vuz43 `quot` gcd2 True (Integer vuz61) (Integer vuz44)",fontsize=16,color="black",shape="box"];481 -> 515[label="",style="solid", color="black", weight=3]; 568[label="absReal2 vuz33",fontsize=16,color="black",shape="box"];568 -> 581[label="",style="solid", color="black", weight=3]; 570 -> 539[label="",style="dashed", color="red", weight=0]; 570[label="abs vuz38",fontsize=16,color="magenta"];570 -> 582[label="",style="dashed", color="magenta", weight=3]; 571 -> 539[label="",style="dashed", color="red", weight=0]; 571[label="abs vuz33",fontsize=16,color="magenta"];569[label="gcd0Gcd'0 vuz75 vuz74",fontsize=16,color="black",shape="triangle"];569 -> 583[label="",style="solid", color="black", weight=3]; 572[label="vuz38",fontsize=16,color="green",shape="box"];914[label="primDivNatS0 (Succ vuz97) (Succ vuz98) (primGEqNatS (Succ vuz990) (Succ vuz1000))",fontsize=16,color="black",shape="box"];914 -> 927[label="",style="solid", color="black", weight=3]; 915[label="primDivNatS0 (Succ vuz97) (Succ vuz98) (primGEqNatS (Succ vuz990) Zero)",fontsize=16,color="black",shape="box"];915 -> 928[label="",style="solid", color="black", weight=3]; 916[label="primDivNatS0 (Succ vuz97) (Succ vuz98) (primGEqNatS Zero (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 Zero Zero)",fontsize=16,color="black",shape="box"];917 -> 930[label="",style="solid", color="black", weight=3]; 577[label="primMinusNatS (Succ vuz32000) Zero",fontsize=16,color="black",shape="triangle"];577 -> 592[label="",style="solid", color="black", weight=3]; 578[label="Zero",fontsize=16,color="green",shape="box"];579[label="primMinusNatS Zero Zero",fontsize=16,color="black",shape="triangle"];579 -> 593[label="",style="solid", color="black", weight=3]; 580[label="Zero",fontsize=16,color="green",shape="box"];491[label="Integer vuz51 `quot` gcd0Gcd' (abs (Integer vuz52)) (abs (Integer vuz230 * Integer vuz210))",fontsize=16,color="black",shape="box"];491 -> 516[label="",style="solid", color="black", weight=3]; 493 -> 1058[label="",style="dashed", color="red", weight=0]; 493[label="Integer vuz230 * Integer vuz210 == fromInt (Pos Zero)",fontsize=16,color="magenta"];493 -> 1064[label="",style="dashed", color="magenta", weight=3]; 492[label="Integer vuz51 `quot` gcd1 vuz70 (Integer vuz52) (Integer vuz230 * Integer vuz210)",fontsize=16,color="burlywood",shape="triangle"];1532[label="vuz70/False",fontsize=10,color="white",style="solid",shape="box"];492 -> 1532[label="",style="solid", color="burlywood", weight=9]; 1532 -> 519[label="",style="solid", color="burlywood", weight=3]; 1533[label="vuz70/True",fontsize=10,color="white",style="solid",shape="box"];492 -> 1533[label="",style="solid", color="burlywood", weight=9]; 1533 -> 520[label="",style="solid", color="burlywood", weight=3]; 1071 -> 252[label="",style="dashed", color="red", weight=0]; 1071[label="primPlusInt vuz54 vuz58",fontsize=16,color="magenta"];1071 -> 1079[label="",style="dashed", color="magenta", weight=3]; 1071 -> 1080[label="",style="dashed", color="magenta", weight=3]; 514[label="Integer vuz43 `quot` gcd0 (Integer vuz61) (Integer vuz44)",fontsize=16,color="black",shape="triangle"];514 -> 526[label="",style="solid", color="black", weight=3]; 515 -> 527[label="",style="dashed", color="red", weight=0]; 515[label="Integer vuz43 `quot` gcd1 (Integer vuz44 == fromInt (Pos Zero)) (Integer vuz61) (Integer vuz44)",fontsize=16,color="magenta"];515 -> 528[label="",style="dashed", color="magenta", weight=3]; 581[label="absReal1 vuz33 (vuz33 >= fromInt (Pos Zero))",fontsize=16,color="black",shape="box"];581 -> 594[label="",style="solid", color="black", weight=3]; 582[label="vuz38",fontsize=16,color="green",shape="box"];583[label="gcd0Gcd' vuz74 (vuz75 `rem` vuz74)",fontsize=16,color="black",shape="box"];583 -> 595[label="",style="solid", color="black", weight=3]; 927 -> 869[label="",style="dashed", color="red", weight=0]; 927[label="primDivNatS0 (Succ vuz97) (Succ vuz98) (primGEqNatS vuz990 vuz1000)",fontsize=16,color="magenta"];927 -> 939[label="",style="dashed", color="magenta", weight=3]; 927 -> 940[label="",style="dashed", color="magenta", weight=3]; 928[label="primDivNatS0 (Succ vuz97) (Succ vuz98) True",fontsize=16,color="black",shape="triangle"];928 -> 941[label="",style="solid", color="black", weight=3]; 929[label="primDivNatS0 (Succ vuz97) (Succ vuz98) False",fontsize=16,color="black",shape="box"];929 -> 942[label="",style="solid", color="black", weight=3]; 930 -> 928[label="",style="dashed", color="red", weight=0]; 930[label="primDivNatS0 (Succ vuz97) (Succ vuz98) True",fontsize=16,color="magenta"];592[label="Succ vuz32000",fontsize=16,color="green",shape="box"];593[label="Zero",fontsize=16,color="green",shape="box"];516[label="Integer vuz51 `quot` gcd0Gcd'2 (abs (Integer vuz52)) (abs (Integer vuz230 * Integer vuz210))",fontsize=16,color="black",shape="box"];516 -> 542[label="",style="solid", color="black", weight=3]; 1064 -> 1059[label="",style="dashed", color="red", weight=0]; 1064[label="Integer vuz230 * Integer vuz210",fontsize=16,color="magenta"];1064 -> 1072[label="",style="dashed", color="magenta", weight=3]; 1064 -> 1073[label="",style="dashed", color="magenta", weight=3]; 519[label="Integer vuz51 `quot` gcd1 False (Integer vuz52) (Integer vuz230 * Integer vuz210)",fontsize=16,color="black",shape="box"];519 -> 543[label="",style="solid", color="black", weight=3]; 520[label="Integer vuz51 `quot` gcd1 True (Integer vuz52) (Integer vuz230 * Integer vuz210)",fontsize=16,color="black",shape="box"];520 -> 544[label="",style="solid", color="black", weight=3]; 1079[label="vuz54",fontsize=16,color="green",shape="box"];1080[label="vuz58",fontsize=16,color="green",shape="box"];526[label="Integer vuz43 `quot` gcd0Gcd' (abs (Integer vuz61)) (abs (Integer vuz44))",fontsize=16,color="black",shape="box"];526 -> 545[label="",style="solid", color="black", weight=3]; 528 -> 1058[label="",style="dashed", color="red", weight=0]; 528[label="Integer vuz44 == fromInt (Pos Zero)",fontsize=16,color="magenta"];528 -> 1065[label="",style="dashed", color="magenta", weight=3]; 527[label="Integer vuz43 `quot` gcd1 vuz72 (Integer vuz61) (Integer vuz44)",fontsize=16,color="burlywood",shape="triangle"];1534[label="vuz72/False",fontsize=10,color="white",style="solid",shape="box"];527 -> 1534[label="",style="solid", color="burlywood", weight=9]; 1534 -> 547[label="",style="solid", color="burlywood", weight=3]; 1535[label="vuz72/True",fontsize=10,color="white",style="solid",shape="box"];527 -> 1535[label="",style="solid", color="burlywood", weight=9]; 1535 -> 548[label="",style="solid", color="burlywood", weight=3]; 594[label="absReal1 vuz33 (compare vuz33 (fromInt (Pos Zero)) /= LT)",fontsize=16,color="black",shape="box"];594 -> 604[label="",style="solid", color="black", weight=3]; 595[label="gcd0Gcd'2 vuz74 (vuz75 `rem` vuz74)",fontsize=16,color="black",shape="box"];595 -> 605[label="",style="solid", color="black", weight=3]; 939[label="vuz990",fontsize=16,color="green",shape="box"];940[label="vuz1000",fontsize=16,color="green",shape="box"];941[label="Succ (primDivNatS (primMinusNatS (Succ vuz97) (Succ vuz98)) (Succ (Succ vuz98)))",fontsize=16,color="green",shape="box"];941 -> 1016[label="",style="dashed", color="green", weight=3]; 942[label="Zero",fontsize=16,color="green",shape="box"];542 -> 1041[label="",style="dashed", color="red", weight=0]; 542[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"];542 -> 1042[label="",style="dashed", color="magenta", weight=3]; 542 -> 1043[label="",style="dashed", color="magenta", weight=3]; 542 -> 1044[label="",style="dashed", color="magenta", weight=3]; 1072[label="Integer vuz210",fontsize=16,color="green",shape="box"];1073[label="Integer vuz230",fontsize=16,color="green",shape="box"];543 -> 475[label="",style="dashed", color="red", weight=0]; 543[label="Integer vuz51 `quot` gcd0 (Integer vuz52) (Integer vuz230 * Integer vuz210)",fontsize=16,color="magenta"];544[label="Integer vuz51 `quot` error []",fontsize=16,color="black",shape="triangle"];544 -> 558[label="",style="solid", color="black", weight=3]; 545[label="Integer vuz43 `quot` gcd0Gcd'2 (abs (Integer vuz61)) (abs (Integer vuz44))",fontsize=16,color="black",shape="box"];545 -> 559[label="",style="solid", color="black", weight=3]; 1065[label="Integer vuz44",fontsize=16,color="green",shape="box"];547[label="Integer vuz43 `quot` gcd1 False (Integer vuz61) (Integer vuz44)",fontsize=16,color="black",shape="box"];547 -> 560[label="",style="solid", color="black", weight=3]; 548[label="Integer vuz43 `quot` gcd1 True (Integer vuz61) (Integer vuz44)",fontsize=16,color="black",shape="box"];548 -> 561[label="",style="solid", color="black", weight=3]; 604[label="absReal1 vuz33 (not (compare vuz33 (fromInt (Pos Zero)) == LT))",fontsize=16,color="black",shape="box"];604 -> 616[label="",style="solid", color="black", weight=3]; 605 -> 617[label="",style="dashed", color="red", weight=0]; 605[label="gcd0Gcd'1 (vuz75 `rem` vuz74 == fromInt (Pos Zero)) vuz74 (vuz75 `rem` vuz74)",fontsize=16,color="magenta"];605 -> 618[label="",style="dashed", color="magenta", weight=3]; 1016 -> 486[label="",style="dashed", color="red", weight=0]; 1016[label="primDivNatS (primMinusNatS (Succ vuz97) (Succ vuz98)) (Succ (Succ vuz98))",fontsize=16,color="magenta"];1016 -> 1028[label="",style="dashed", color="magenta", weight=3]; 1016 -> 1029[label="",style="dashed", color="magenta", weight=3]; 1042 -> 1058[label="",style="dashed", color="red", weight=0]; 1042[label="abs (Integer vuz230 * Integer vuz210) == fromInt (Pos Zero)",fontsize=16,color="magenta"];1042 -> 1066[label="",style="dashed", color="magenta", weight=3]; 1043[label="abs (Integer vuz230 * Integer vuz210)",fontsize=16,color="black",shape="triangle"];1043 -> 1054[label="",style="solid", color="black", weight=3]; 1044[label="abs (Integer vuz52)",fontsize=16,color="black",shape="triangle"];1044 -> 1055[label="",style="solid", color="black", weight=3]; 1041[label="Integer vuz51 `quot` gcd0Gcd'1 vuz105 vuz104 vuz102",fontsize=16,color="burlywood",shape="triangle"];1536[label="vuz105/False",fontsize=10,color="white",style="solid",shape="box"];1041 -> 1536[label="",style="solid", color="burlywood", weight=9]; 1536 -> 1056[label="",style="solid", color="burlywood", weight=3]; 1537[label="vuz105/True",fontsize=10,color="white",style="solid",shape="box"];1041 -> 1537[label="",style="solid", color="burlywood", weight=9]; 1537 -> 1057[label="",style="solid", color="burlywood", weight=3]; 558[label="error []",fontsize=16,color="red",shape="box"];559 -> 1041[label="",style="dashed", color="red", weight=0]; 559[label="Integer vuz43 `quot` gcd0Gcd'1 (abs (Integer vuz44) == fromInt (Pos Zero)) (abs (Integer vuz61)) (abs (Integer vuz44))",fontsize=16,color="magenta"];559 -> 1047[label="",style="dashed", color="magenta", weight=3]; 559 -> 1048[label="",style="dashed", color="magenta", weight=3]; 559 -> 1049[label="",style="dashed", color="magenta", weight=3]; 559 -> 1050[label="",style="dashed", color="magenta", weight=3]; 560 -> 514[label="",style="dashed", color="red", weight=0]; 560[label="Integer vuz43 `quot` gcd0 (Integer vuz61) (Integer vuz44)",fontsize=16,color="magenta"];561 -> 544[label="",style="dashed", color="red", weight=0]; 561[label="Integer vuz43 `quot` error []",fontsize=16,color="magenta"];561 -> 586[label="",style="dashed", color="magenta", weight=3]; 616[label="absReal1 vuz33 (not (primCmpInt vuz33 (fromInt (Pos Zero)) == LT))",fontsize=16,color="burlywood",shape="box"];1538[label="vuz33/Pos vuz330",fontsize=10,color="white",style="solid",shape="box"];616 -> 1538[label="",style="solid", color="burlywood", weight=9]; 1538 -> 626[label="",style="solid", color="burlywood", weight=3]; 1539[label="vuz33/Neg vuz330",fontsize=10,color="white",style="solid",shape="box"];616 -> 1539[label="",style="solid", color="burlywood", weight=9]; 1539 -> 627[label="",style="solid", color="burlywood", weight=3]; 618 -> 137[label="",style="dashed", color="red", weight=0]; 618[label="vuz75 `rem` vuz74 == fromInt (Pos Zero)",fontsize=16,color="magenta"];618 -> 628[label="",style="dashed", color="magenta", weight=3]; 617[label="gcd0Gcd'1 vuz76 vuz74 (vuz75 `rem` vuz74)",fontsize=16,color="burlywood",shape="triangle"];1540[label="vuz76/False",fontsize=10,color="white",style="solid",shape="box"];617 -> 1540[label="",style="solid", color="burlywood", weight=9]; 1540 -> 629[label="",style="solid", color="burlywood", weight=3]; 1541[label="vuz76/True",fontsize=10,color="white",style="solid",shape="box"];617 -> 1541[label="",style="solid", color="burlywood", weight=9]; 1541 -> 630[label="",style="solid", color="burlywood", weight=3]; 1028[label="primMinusNatS (Succ vuz97) (Succ vuz98)",fontsize=16,color="black",shape="box"];1028 -> 1039[label="",style="solid", color="black", weight=3]; 1029[label="Succ vuz98",fontsize=16,color="green",shape="box"];1066 -> 1043[label="",style="dashed", color="red", weight=0]; 1066[label="abs (Integer vuz230 * Integer vuz210)",fontsize=16,color="magenta"];1054 -> 1074[label="",style="dashed", color="red", weight=0]; 1054[label="absReal (Integer vuz230 * Integer vuz210)",fontsize=16,color="magenta"];1054 -> 1075[label="",style="dashed", color="magenta", weight=3]; 1055 -> 1074[label="",style="dashed", color="red", weight=0]; 1055[label="absReal (Integer vuz52)",fontsize=16,color="magenta"];1055 -> 1076[label="",style="dashed", color="magenta", weight=3]; 1056[label="Integer vuz51 `quot` gcd0Gcd'1 False vuz104 vuz102",fontsize=16,color="black",shape="box"];1056 -> 1081[label="",style="solid", color="black", weight=3]; 1057[label="Integer vuz51 `quot` gcd0Gcd'1 True vuz104 vuz102",fontsize=16,color="black",shape="box"];1057 -> 1082[label="",style="solid", color="black", weight=3]; 1047 -> 1058[label="",style="dashed", color="red", weight=0]; 1047[label="abs (Integer vuz44) == fromInt (Pos Zero)",fontsize=16,color="magenta"];1047 -> 1068[label="",style="dashed", color="magenta", weight=3]; 1048[label="vuz43",fontsize=16,color="green",shape="box"];1049 -> 1044[label="",style="dashed", color="red", weight=0]; 1049[label="abs (Integer vuz44)",fontsize=16,color="magenta"];1049 -> 1083[label="",style="dashed", color="magenta", weight=3]; 1050 -> 1044[label="",style="dashed", color="red", weight=0]; 1050[label="abs (Integer vuz61)",fontsize=16,color="magenta"];1050 -> 1084[label="",style="dashed", color="magenta", weight=3]; 586[label="vuz43",fontsize=16,color="green",shape="box"];626[label="absReal1 (Pos vuz330) (not (primCmpInt (Pos vuz330) (fromInt (Pos Zero)) == LT))",fontsize=16,color="burlywood",shape="box"];1542[label="vuz330/Succ vuz3300",fontsize=10,color="white",style="solid",shape="box"];626 -> 1542[label="",style="solid", color="burlywood", weight=9]; 1542 -> 640[label="",style="solid", color="burlywood", weight=3]; 1543[label="vuz330/Zero",fontsize=10,color="white",style="solid",shape="box"];626 -> 1543[label="",style="solid", color="burlywood", weight=9]; 1543 -> 641[label="",style="solid", color="burlywood", weight=3]; 627[label="absReal1 (Neg vuz330) (not (primCmpInt (Neg vuz330) (fromInt (Pos Zero)) == LT))",fontsize=16,color="burlywood",shape="box"];1544[label="vuz330/Succ vuz3300",fontsize=10,color="white",style="solid",shape="box"];627 -> 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"];627 -> 1545[label="",style="solid", color="burlywood", weight=9]; 1545 -> 643[label="",style="solid", color="burlywood", weight=3]; 628[label="vuz75 `rem` vuz74",fontsize=16,color="black",shape="triangle"];628 -> 644[label="",style="solid", color="black", weight=3]; 629[label="gcd0Gcd'1 False vuz74 (vuz75 `rem` vuz74)",fontsize=16,color="black",shape="box"];629 -> 645[label="",style="solid", color="black", weight=3]; 630[label="gcd0Gcd'1 True vuz74 (vuz75 `rem` vuz74)",fontsize=16,color="black",shape="box"];630 -> 646[label="",style="solid", color="black", weight=3]; 1039[label="primMinusNatS vuz97 vuz98",fontsize=16,color="burlywood",shape="triangle"];1546[label="vuz97/Succ vuz970",fontsize=10,color="white",style="solid",shape="box"];1039 -> 1546[label="",style="solid", color="burlywood", weight=9]; 1546 -> 1085[label="",style="solid", color="burlywood", weight=3]; 1547[label="vuz97/Zero",fontsize=10,color="white",style="solid",shape="box"];1039 -> 1547[label="",style="solid", color="burlywood", weight=9]; 1547 -> 1086[label="",style="solid", color="burlywood", weight=3]; 1075 -> 1059[label="",style="dashed", color="red", weight=0]; 1075[label="Integer vuz230 * Integer vuz210",fontsize=16,color="magenta"];1075 -> 1087[label="",style="dashed", color="magenta", weight=3]; 1075 -> 1088[label="",style="dashed", color="magenta", weight=3]; 1074[label="absReal vuz107",fontsize=16,color="black",shape="triangle"];1074 -> 1089[label="",style="solid", color="black", weight=3]; 1076[label="Integer vuz52",fontsize=16,color="green",shape="box"];1081[label="Integer vuz51 `quot` gcd0Gcd'0 vuz104 vuz102",fontsize=16,color="black",shape="box"];1081 -> 1102[label="",style="solid", color="black", weight=3]; 1082[label="Integer vuz51 `quot` vuz104",fontsize=16,color="burlywood",shape="triangle"];1548[label="vuz104/Integer vuz1040",fontsize=10,color="white",style="solid",shape="box"];1082 -> 1548[label="",style="solid", color="burlywood", weight=9]; 1548 -> 1103[label="",style="solid", color="burlywood", weight=3]; 1068 -> 1044[label="",style="dashed", color="red", weight=0]; 1068[label="abs (Integer vuz44)",fontsize=16,color="magenta"];1068 -> 1090[label="",style="dashed", color="magenta", weight=3]; 1083[label="vuz44",fontsize=16,color="green",shape="box"];1084[label="vuz61",fontsize=16,color="green",shape="box"];640[label="absReal1 (Pos (Succ vuz3300)) (not (primCmpInt (Pos (Succ vuz3300)) (fromInt (Pos Zero)) == LT))",fontsize=16,color="black",shape="box"];640 -> 657[label="",style="solid", color="black", weight=3]; 641[label="absReal1 (Pos Zero) (not (primCmpInt (Pos Zero) (fromInt (Pos Zero)) == LT))",fontsize=16,color="black",shape="box"];641 -> 658[label="",style="solid", color="black", weight=3]; 642[label="absReal1 (Neg (Succ vuz3300)) (not (primCmpInt (Neg (Succ vuz3300)) (fromInt (Pos Zero)) == LT))",fontsize=16,color="black",shape="box"];642 -> 659[label="",style="solid", color="black", weight=3]; 643[label="absReal1 (Neg Zero) (not (primCmpInt (Neg Zero) (fromInt (Pos Zero)) == LT))",fontsize=16,color="black",shape="box"];643 -> 660[label="",style="solid", color="black", weight=3]; 644[label="primRemInt vuz75 vuz74",fontsize=16,color="burlywood",shape="triangle"];1549[label="vuz75/Pos vuz750",fontsize=10,color="white",style="solid",shape="box"];644 -> 1549[label="",style="solid", color="burlywood", weight=9]; 1549 -> 661[label="",style="solid", color="burlywood", weight=3]; 1550[label="vuz75/Neg vuz750",fontsize=10,color="white",style="solid",shape="box"];644 -> 1550[label="",style="solid", color="burlywood", weight=9]; 1550 -> 662[label="",style="solid", color="burlywood", weight=3]; 645 -> 569[label="",style="dashed", color="red", weight=0]; 645[label="gcd0Gcd'0 vuz74 (vuz75 `rem` vuz74)",fontsize=16,color="magenta"];645 -> 663[label="",style="dashed", color="magenta", weight=3]; 645 -> 664[label="",style="dashed", color="magenta", weight=3]; 646[label="vuz74",fontsize=16,color="green",shape="box"];1085[label="primMinusNatS (Succ vuz970) vuz98",fontsize=16,color="burlywood",shape="box"];1551[label="vuz98/Succ vuz980",fontsize=10,color="white",style="solid",shape="box"];1085 -> 1551[label="",style="solid", color="burlywood", weight=9]; 1551 -> 1104[label="",style="solid", color="burlywood", weight=3]; 1552[label="vuz98/Zero",fontsize=10,color="white",style="solid",shape="box"];1085 -> 1552[label="",style="solid", color="burlywood", weight=9]; 1552 -> 1105[label="",style="solid", color="burlywood", weight=3]; 1086[label="primMinusNatS Zero vuz98",fontsize=16,color="burlywood",shape="box"];1553[label="vuz98/Succ vuz980",fontsize=10,color="white",style="solid",shape="box"];1086 -> 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"];1086 -> 1554[label="",style="solid", color="burlywood", weight=9]; 1554 -> 1107[label="",style="solid", color="burlywood", weight=3]; 1087[label="Integer vuz210",fontsize=16,color="green",shape="box"];1088[label="Integer vuz230",fontsize=16,color="green",shape="box"];1089[label="absReal2 vuz107",fontsize=16,color="black",shape="box"];1089 -> 1108[label="",style="solid", color="black", weight=3]; 1102 -> 1082[label="",style="dashed", color="red", weight=0]; 1102[label="Integer vuz51 `quot` gcd0Gcd' vuz102 (vuz104 `rem` vuz102)",fontsize=16,color="magenta"];1102 -> 1120[label="",style="dashed", color="magenta", weight=3]; 1103[label="Integer vuz51 `quot` Integer vuz1040",fontsize=16,color="black",shape="box"];1103 -> 1121[label="",style="solid", color="black", weight=3]; 1090[label="vuz44",fontsize=16,color="green",shape="box"];657[label="absReal1 (Pos (Succ vuz3300)) (not (primCmpInt (Pos (Succ vuz3300)) (Pos Zero) == LT))",fontsize=16,color="black",shape="box"];657 -> 683[label="",style="solid", color="black", weight=3]; 658[label="absReal1 (Pos Zero) (not (primCmpInt (Pos Zero) (Pos Zero) == LT))",fontsize=16,color="black",shape="box"];658 -> 684[label="",style="solid", color="black", weight=3]; 659[label="absReal1 (Neg (Succ vuz3300)) (not (primCmpInt (Neg (Succ vuz3300)) (Pos Zero) == LT))",fontsize=16,color="black",shape="box"];659 -> 685[label="",style="solid", color="black", weight=3]; 660[label="absReal1 (Neg Zero) (not (primCmpInt (Neg Zero) (Pos Zero) == LT))",fontsize=16,color="black",shape="box"];660 -> 686[label="",style="solid", color="black", weight=3]; 661[label="primRemInt (Pos vuz750) vuz74",fontsize=16,color="burlywood",shape="box"];1555[label="vuz74/Pos vuz740",fontsize=10,color="white",style="solid",shape="box"];661 -> 1555[label="",style="solid", color="burlywood", weight=9]; 1555 -> 687[label="",style="solid", color="burlywood", weight=3]; 1556[label="vuz74/Neg vuz740",fontsize=10,color="white",style="solid",shape="box"];661 -> 1556[label="",style="solid", color="burlywood", weight=9]; 1556 -> 688[label="",style="solid", color="burlywood", weight=3]; 662[label="primRemInt (Neg vuz750) vuz74",fontsize=16,color="burlywood",shape="box"];1557[label="vuz74/Pos vuz740",fontsize=10,color="white",style="solid",shape="box"];662 -> 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"];662 -> 1558[label="",style="solid", color="burlywood", weight=9]; 1558 -> 690[label="",style="solid", color="burlywood", weight=3]; 663[label="vuz74",fontsize=16,color="green",shape="box"];664 -> 628[label="",style="dashed", color="red", weight=0]; 664[label="vuz75 `rem` vuz74",fontsize=16,color="magenta"];1104[label="primMinusNatS (Succ vuz970) (Succ vuz980)",fontsize=16,color="black",shape="box"];1104 -> 1122[label="",style="solid", color="black", weight=3]; 1105[label="primMinusNatS (Succ vuz970) Zero",fontsize=16,color="black",shape="box"];1105 -> 1123[label="",style="solid", color="black", weight=3]; 1106[label="primMinusNatS Zero (Succ vuz980)",fontsize=16,color="black",shape="box"];1106 -> 1124[label="",style="solid", color="black", weight=3]; 1107[label="primMinusNatS Zero Zero",fontsize=16,color="black",shape="box"];1107 -> 1125[label="",style="solid", color="black", weight=3]; 1108[label="absReal1 vuz107 (vuz107 >= fromInt (Pos Zero))",fontsize=16,color="black",shape="box"];1108 -> 1126[label="",style="solid", color="black", weight=3]; 1120[label="gcd0Gcd' vuz102 (vuz104 `rem` vuz102)",fontsize=16,color="black",shape="triangle"];1120 -> 1141[label="",style="solid", color="black", weight=3]; 1121[label="Integer (primQuotInt vuz51 vuz1040)",fontsize=16,color="green",shape="box"];1121 -> 1142[label="",style="dashed", color="green", weight=3]; 683[label="absReal1 (Pos (Succ vuz3300)) (not (primCmpNat (Succ vuz3300) Zero == LT))",fontsize=16,color="black",shape="box"];683 -> 707[label="",style="solid", color="black", weight=3]; 684[label="absReal1 (Pos Zero) (not (EQ == LT))",fontsize=16,color="black",shape="box"];684 -> 708[label="",style="solid", color="black", weight=3]; 685[label="absReal1 (Neg (Succ vuz3300)) (not (LT == LT))",fontsize=16,color="black",shape="box"];685 -> 709[label="",style="solid", color="black", weight=3]; 686[label="absReal1 (Neg Zero) (not (EQ == LT))",fontsize=16,color="black",shape="box"];686 -> 710[label="",style="solid", color="black", weight=3]; 687[label="primRemInt (Pos vuz750) (Pos vuz740)",fontsize=16,color="burlywood",shape="box"];1559[label="vuz740/Succ vuz7400",fontsize=10,color="white",style="solid",shape="box"];687 -> 1559[label="",style="solid", color="burlywood", weight=9]; 1559 -> 711[label="",style="solid", color="burlywood", weight=3]; 1560[label="vuz740/Zero",fontsize=10,color="white",style="solid",shape="box"];687 -> 1560[label="",style="solid", color="burlywood", weight=9]; 1560 -> 712[label="",style="solid", color="burlywood", weight=3]; 688[label="primRemInt (Pos vuz750) (Neg vuz740)",fontsize=16,color="burlywood",shape="box"];1561[label="vuz740/Succ vuz7400",fontsize=10,color="white",style="solid",shape="box"];688 -> 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"];688 -> 1562[label="",style="solid", color="burlywood", weight=9]; 1562 -> 714[label="",style="solid", color="burlywood", weight=3]; 689[label="primRemInt (Neg vuz750) (Pos vuz740)",fontsize=16,color="burlywood",shape="box"];1563[label="vuz740/Succ vuz7400",fontsize=10,color="white",style="solid",shape="box"];689 -> 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"];689 -> 1564[label="",style="solid", color="burlywood", weight=9]; 1564 -> 716[label="",style="solid", color="burlywood", weight=3]; 690[label="primRemInt (Neg vuz750) (Neg vuz740)",fontsize=16,color="burlywood",shape="box"];1565[label="vuz740/Succ vuz7400",fontsize=10,color="white",style="solid",shape="box"];690 -> 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"];690 -> 1566[label="",style="solid", color="burlywood", weight=9]; 1566 -> 718[label="",style="solid", color="burlywood", weight=3]; 1122 -> 1039[label="",style="dashed", color="red", weight=0]; 1122[label="primMinusNatS vuz970 vuz980",fontsize=16,color="magenta"];1122 -> 1143[label="",style="dashed", color="magenta", weight=3]; 1122 -> 1144[label="",style="dashed", color="magenta", weight=3]; 1123[label="Succ vuz970",fontsize=16,color="green",shape="box"];1124[label="Zero",fontsize=16,color="green",shape="box"];1125[label="Zero",fontsize=16,color="green",shape="box"];1126[label="absReal1 vuz107 (compare vuz107 (fromInt (Pos Zero)) /= LT)",fontsize=16,color="black",shape="box"];1126 -> 1145[label="",style="solid", color="black", weight=3]; 1141[label="gcd0Gcd'2 vuz102 (vuz104 `rem` vuz102)",fontsize=16,color="black",shape="box"];1141 -> 1155[label="",style="solid", color="black", weight=3]; 1142[label="primQuotInt vuz51 vuz1040",fontsize=16,color="burlywood",shape="box"];1567[label="vuz51/Pos vuz510",fontsize=10,color="white",style="solid",shape="box"];1142 -> 1567[label="",style="solid", color="burlywood", weight=9]; 1567 -> 1156[label="",style="solid", color="burlywood", weight=3]; 1568[label="vuz51/Neg vuz510",fontsize=10,color="white",style="solid",shape="box"];1142 -> 1568[label="",style="solid", color="burlywood", weight=9]; 1568 -> 1157[label="",style="solid", color="burlywood", weight=3]; 707[label="absReal1 (Pos (Succ vuz3300)) (not (GT == LT))",fontsize=16,color="black",shape="box"];707 -> 728[label="",style="solid", color="black", weight=3]; 708[label="absReal1 (Pos Zero) (not False)",fontsize=16,color="black",shape="box"];708 -> 729[label="",style="solid", color="black", weight=3]; 709[label="absReal1 (Neg (Succ vuz3300)) (not True)",fontsize=16,color="black",shape="box"];709 -> 730[label="",style="solid", color="black", weight=3]; 710[label="absReal1 (Neg Zero) (not False)",fontsize=16,color="black",shape="box"];710 -> 731[label="",style="solid", color="black", weight=3]; 711[label="primRemInt (Pos vuz750) (Pos (Succ vuz7400))",fontsize=16,color="black",shape="box"];711 -> 732[label="",style="solid", color="black", weight=3]; 712[label="primRemInt (Pos vuz750) (Pos Zero)",fontsize=16,color="black",shape="box"];712 -> 733[label="",style="solid", color="black", weight=3]; 713[label="primRemInt (Pos vuz750) (Neg (Succ vuz7400))",fontsize=16,color="black",shape="box"];713 -> 734[label="",style="solid", color="black", weight=3]; 714[label="primRemInt (Pos vuz750) (Neg Zero)",fontsize=16,color="black",shape="box"];714 -> 735[label="",style="solid", color="black", weight=3]; 715[label="primRemInt (Neg vuz750) (Pos (Succ vuz7400))",fontsize=16,color="black",shape="box"];715 -> 736[label="",style="solid", color="black", weight=3]; 716[label="primRemInt (Neg vuz750) (Pos Zero)",fontsize=16,color="black",shape="box"];716 -> 737[label="",style="solid", color="black", weight=3]; 717[label="primRemInt (Neg vuz750) (Neg (Succ vuz7400))",fontsize=16,color="black",shape="box"];717 -> 738[label="",style="solid", color="black", weight=3]; 718[label="primRemInt (Neg vuz750) (Neg Zero)",fontsize=16,color="black",shape="box"];718 -> 739[label="",style="solid", color="black", weight=3]; 1143[label="vuz970",fontsize=16,color="green",shape="box"];1144[label="vuz980",fontsize=16,color="green",shape="box"];1145[label="absReal1 vuz107 (not (compare vuz107 (fromInt (Pos Zero)) == LT))",fontsize=16,color="burlywood",shape="box"];1569[label="vuz107/Integer vuz1070",fontsize=10,color="white",style="solid",shape="box"];1145 -> 1569[label="",style="solid", color="burlywood", weight=9]; 1569 -> 1158[label="",style="solid", color="burlywood", weight=3]; 1155 -> 1167[label="",style="dashed", color="red", weight=0]; 1155[label="gcd0Gcd'1 (vuz104 `rem` vuz102 == fromInt (Pos Zero)) vuz102 (vuz104 `rem` vuz102)",fontsize=16,color="magenta"];1155 -> 1168[label="",style="dashed", color="magenta", weight=3]; 1156[label="primQuotInt (Pos vuz510) vuz1040",fontsize=16,color="burlywood",shape="box"];1570[label="vuz1040/Pos vuz10400",fontsize=10,color="white",style="solid",shape="box"];1156 -> 1570[label="",style="solid", color="burlywood", weight=9]; 1570 -> 1169[label="",style="solid", color="burlywood", weight=3]; 1571[label="vuz1040/Neg vuz10400",fontsize=10,color="white",style="solid",shape="box"];1156 -> 1571[label="",style="solid", color="burlywood", weight=9]; 1571 -> 1170[label="",style="solid", color="burlywood", weight=3]; 1157[label="primQuotInt (Neg vuz510) vuz1040",fontsize=16,color="burlywood",shape="box"];1572[label="vuz1040/Pos vuz10400",fontsize=10,color="white",style="solid",shape="box"];1157 -> 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"];1157 -> 1573[label="",style="solid", color="burlywood", weight=9]; 1573 -> 1172[label="",style="solid", color="burlywood", weight=3]; 728[label="absReal1 (Pos (Succ vuz3300)) (not False)",fontsize=16,color="black",shape="box"];728 -> 749[label="",style="solid", color="black", weight=3]; 729[label="absReal1 (Pos Zero) True",fontsize=16,color="black",shape="box"];729 -> 750[label="",style="solid", color="black", weight=3]; 730[label="absReal1 (Neg (Succ vuz3300)) False",fontsize=16,color="black",shape="box"];730 -> 751[label="",style="solid", color="black", weight=3]; 731[label="absReal1 (Neg Zero) True",fontsize=16,color="black",shape="box"];731 -> 752[label="",style="solid", color="black", weight=3]; 732[label="Pos (primModNatS vuz750 (Succ vuz7400))",fontsize=16,color="green",shape="box"];732 -> 753[label="",style="dashed", color="green", weight=3]; 733 -> 469[label="",style="dashed", color="red", weight=0]; 733[label="error []",fontsize=16,color="magenta"];734[label="Pos (primModNatS vuz750 (Succ vuz7400))",fontsize=16,color="green",shape="box"];734 -> 754[label="",style="dashed", color="green", weight=3]; 735 -> 469[label="",style="dashed", color="red", weight=0]; 735[label="error []",fontsize=16,color="magenta"];736[label="Neg (primModNatS vuz750 (Succ vuz7400))",fontsize=16,color="green",shape="box"];736 -> 755[label="",style="dashed", color="green", weight=3]; 737 -> 469[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 -> 756[label="",style="dashed", color="green", weight=3]; 739 -> 469[label="",style="dashed", color="red", weight=0]; 739[label="error []",fontsize=16,color="magenta"];1158[label="absReal1 (Integer vuz1070) (not (compare (Integer vuz1070) (fromInt (Pos Zero)) == LT))",fontsize=16,color="black",shape="box"];1158 -> 1173[label="",style="solid", color="black", weight=3]; 1168 -> 1058[label="",style="dashed", color="red", weight=0]; 1168[label="vuz104 `rem` vuz102 == fromInt (Pos Zero)",fontsize=16,color="magenta"];1168 -> 1174[label="",style="dashed", color="magenta", weight=3]; 1167[label="gcd0Gcd'1 vuz108 vuz102 (vuz104 `rem` vuz102)",fontsize=16,color="burlywood",shape="triangle"];1574[label="vuz108/False",fontsize=10,color="white",style="solid",shape="box"];1167 -> 1574[label="",style="solid", color="burlywood", weight=9]; 1574 -> 1175[label="",style="solid", color="burlywood", weight=3]; 1575[label="vuz108/True",fontsize=10,color="white",style="solid",shape="box"];1167 -> 1575[label="",style="solid", color="burlywood", weight=9]; 1575 -> 1176[label="",style="solid", color="burlywood", weight=3]; 1169[label="primQuotInt (Pos vuz510) (Pos vuz10400)",fontsize=16,color="burlywood",shape="box"];1576[label="vuz10400/Succ vuz104000",fontsize=10,color="white",style="solid",shape="box"];1169 -> 1576[label="",style="solid", color="burlywood", weight=9]; 1576 -> 1185[label="",style="solid", color="burlywood", weight=3]; 1577[label="vuz10400/Zero",fontsize=10,color="white",style="solid",shape="box"];1169 -> 1577[label="",style="solid", color="burlywood", weight=9]; 1577 -> 1186[label="",style="solid", color="burlywood", weight=3]; 1170[label="primQuotInt (Pos vuz510) (Neg vuz10400)",fontsize=16,color="burlywood",shape="box"];1578[label="vuz10400/Succ vuz104000",fontsize=10,color="white",style="solid",shape="box"];1170 -> 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"];1170 -> 1579[label="",style="solid", color="burlywood", weight=9]; 1579 -> 1188[label="",style="solid", color="burlywood", weight=3]; 1171[label="primQuotInt (Neg vuz510) (Pos vuz10400)",fontsize=16,color="burlywood",shape="box"];1580[label="vuz10400/Succ vuz104000",fontsize=10,color="white",style="solid",shape="box"];1171 -> 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"];1171 -> 1581[label="",style="solid", color="burlywood", weight=9]; 1581 -> 1190[label="",style="solid", color="burlywood", weight=3]; 1172[label="primQuotInt (Neg vuz510) (Neg vuz10400)",fontsize=16,color="burlywood",shape="box"];1582[label="vuz10400/Succ vuz104000",fontsize=10,color="white",style="solid",shape="box"];1172 -> 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"];1172 -> 1583[label="",style="solid", color="burlywood", weight=9]; 1583 -> 1192[label="",style="solid", color="burlywood", weight=3]; 749[label="absReal1 (Pos (Succ vuz3300)) True",fontsize=16,color="black",shape="box"];749 -> 768[label="",style="solid", color="black", weight=3]; 750[label="Pos Zero",fontsize=16,color="green",shape="box"];751[label="absReal0 (Neg (Succ vuz3300)) otherwise",fontsize=16,color="black",shape="box"];751 -> 769[label="",style="solid", color="black", weight=3]; 752[label="Neg Zero",fontsize=16,color="green",shape="box"];753[label="primModNatS vuz750 (Succ vuz7400)",fontsize=16,color="burlywood",shape="triangle"];1584[label="vuz750/Succ vuz7500",fontsize=10,color="white",style="solid",shape="box"];753 -> 1584[label="",style="solid", color="burlywood", weight=9]; 1584 -> 770[label="",style="solid", color="burlywood", weight=3]; 1585[label="vuz750/Zero",fontsize=10,color="white",style="solid",shape="box"];753 -> 1585[label="",style="solid", color="burlywood", weight=9]; 1585 -> 771[label="",style="solid", color="burlywood", weight=3]; 754 -> 753[label="",style="dashed", color="red", weight=0]; 754[label="primModNatS vuz750 (Succ vuz7400)",fontsize=16,color="magenta"];754 -> 772[label="",style="dashed", color="magenta", weight=3]; 755 -> 753[label="",style="dashed", color="red", weight=0]; 755[label="primModNatS vuz750 (Succ vuz7400)",fontsize=16,color="magenta"];755 -> 773[label="",style="dashed", color="magenta", weight=3]; 756 -> 753[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]; 756 -> 775[label="",style="dashed", color="magenta", weight=3]; 1173[label="absReal1 (Integer vuz1070) (not (compare (Integer vuz1070) (Integer (Pos Zero)) == LT))",fontsize=16,color="black",shape="box"];1173 -> 1193[label="",style="solid", color="black", weight=3]; 1174[label="vuz104 `rem` vuz102",fontsize=16,color="burlywood",shape="triangle"];1586[label="vuz104/Integer vuz1040",fontsize=10,color="white",style="solid",shape="box"];1174 -> 1586[label="",style="solid", color="burlywood", weight=9]; 1586 -> 1194[label="",style="solid", color="burlywood", weight=3]; 1175[label="gcd0Gcd'1 False vuz102 (vuz104 `rem` vuz102)",fontsize=16,color="black",shape="box"];1175 -> 1195[label="",style="solid", color="black", weight=3]; 1176[label="gcd0Gcd'1 True vuz102 (vuz104 `rem` vuz102)",fontsize=16,color="black",shape="box"];1176 -> 1196[label="",style="solid", color="black", weight=3]; 1185[label="primQuotInt (Pos vuz510) (Pos (Succ vuz104000))",fontsize=16,color="black",shape="box"];1185 -> 1202[label="",style="solid", color="black", weight=3]; 1186[label="primQuotInt (Pos vuz510) (Pos Zero)",fontsize=16,color="black",shape="box"];1186 -> 1203[label="",style="solid", color="black", weight=3]; 1187[label="primQuotInt (Pos vuz510) (Neg (Succ vuz104000))",fontsize=16,color="black",shape="box"];1187 -> 1204[label="",style="solid", color="black", weight=3]; 1188[label="primQuotInt (Pos vuz510) (Neg Zero)",fontsize=16,color="black",shape="box"];1188 -> 1205[label="",style="solid", color="black", weight=3]; 1189[label="primQuotInt (Neg vuz510) (Pos (Succ vuz104000))",fontsize=16,color="black",shape="box"];1189 -> 1206[label="",style="solid", color="black", weight=3]; 1190[label="primQuotInt (Neg vuz510) (Pos Zero)",fontsize=16,color="black",shape="box"];1190 -> 1207[label="",style="solid", color="black", weight=3]; 1191[label="primQuotInt (Neg vuz510) (Neg (Succ vuz104000))",fontsize=16,color="black",shape="box"];1191 -> 1208[label="",style="solid", color="black", weight=3]; 1192[label="primQuotInt (Neg vuz510) (Neg Zero)",fontsize=16,color="black",shape="box"];1192 -> 1209[label="",style="solid", color="black", weight=3]; 768[label="Pos (Succ vuz3300)",fontsize=16,color="green",shape="box"];769[label="absReal0 (Neg (Succ vuz3300)) True",fontsize=16,color="black",shape="box"];769 -> 788[label="",style="solid", color="black", weight=3]; 770[label="primModNatS (Succ vuz7500) (Succ vuz7400)",fontsize=16,color="black",shape="box"];770 -> 789[label="",style="solid", color="black", weight=3]; 771[label="primModNatS Zero (Succ vuz7400)",fontsize=16,color="black",shape="box"];771 -> 790[label="",style="solid", color="black", weight=3]; 772[label="vuz7400",fontsize=16,color="green",shape="box"];773[label="vuz750",fontsize=16,color="green",shape="box"];774[label="vuz750",fontsize=16,color="green",shape="box"];775[label="vuz7400",fontsize=16,color="green",shape="box"];1193[label="absReal1 (Integer vuz1070) (not (primCmpInt vuz1070 (Pos Zero) == LT))",fontsize=16,color="burlywood",shape="box"];1587[label="vuz1070/Pos vuz10700",fontsize=10,color="white",style="solid",shape="box"];1193 -> 1587[label="",style="solid", color="burlywood", weight=9]; 1587 -> 1210[label="",style="solid", color="burlywood", weight=3]; 1588[label="vuz1070/Neg vuz10700",fontsize=10,color="white",style="solid",shape="box"];1193 -> 1588[label="",style="solid", color="burlywood", weight=9]; 1588 -> 1211[label="",style="solid", color="burlywood", weight=3]; 1194[label="Integer vuz1040 `rem` vuz102",fontsize=16,color="burlywood",shape="box"];1589[label="vuz102/Integer vuz1020",fontsize=10,color="white",style="solid",shape="box"];1194 -> 1589[label="",style="solid", color="burlywood", weight=9]; 1589 -> 1212[label="",style="solid", color="burlywood", weight=3]; 1195 -> 1213[label="",style="dashed", color="red", weight=0]; 1195[label="gcd0Gcd'0 vuz102 (vuz104 `rem` vuz102)",fontsize=16,color="magenta"];1195 -> 1214[label="",style="dashed", color="magenta", weight=3]; 1196[label="vuz102",fontsize=16,color="green",shape="box"];1202[label="Pos (primDivNatS vuz510 (Succ vuz104000))",fontsize=16,color="green",shape="box"];1202 -> 1215[label="",style="dashed", color="green", weight=3]; 1203 -> 469[label="",style="dashed", color="red", weight=0]; 1203[label="error []",fontsize=16,color="magenta"];1204[label="Neg (primDivNatS vuz510 (Succ vuz104000))",fontsize=16,color="green",shape="box"];1204 -> 1216[label="",style="dashed", color="green", weight=3]; 1205 -> 469[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 -> 1217[label="",style="dashed", color="green", weight=3]; 1207 -> 469[label="",style="dashed", color="red", weight=0]; 1207[label="error []",fontsize=16,color="magenta"];1208[label="Pos (primDivNatS vuz510 (Succ vuz104000))",fontsize=16,color="green",shape="box"];1208 -> 1218[label="",style="dashed", color="green", weight=3]; 1209 -> 469[label="",style="dashed", color="red", weight=0]; 1209[label="error []",fontsize=16,color="magenta"];788 -> 70[label="",style="dashed", color="red", weight=0]; 788[label="`negate` Neg (Succ vuz3300)",fontsize=16,color="magenta"];788 -> 808[label="",style="dashed", color="magenta", weight=3]; 789[label="primModNatS0 vuz7500 vuz7400 (primGEqNatS vuz7500 vuz7400)",fontsize=16,color="burlywood",shape="box"];1590[label="vuz7500/Succ vuz75000",fontsize=10,color="white",style="solid",shape="box"];789 -> 1590[label="",style="solid", color="burlywood", weight=9]; 1590 -> 809[label="",style="solid", color="burlywood", weight=3]; 1591[label="vuz7500/Zero",fontsize=10,color="white",style="solid",shape="box"];789 -> 1591[label="",style="solid", color="burlywood", weight=9]; 1591 -> 810[label="",style="solid", color="burlywood", weight=3]; 790[label="Zero",fontsize=16,color="green",shape="box"];1210[label="absReal1 (Integer (Pos vuz10700)) (not (primCmpInt (Pos vuz10700) (Pos Zero) == LT))",fontsize=16,color="burlywood",shape="box"];1592[label="vuz10700/Succ vuz107000",fontsize=10,color="white",style="solid",shape="box"];1210 -> 1592[label="",style="solid", color="burlywood", weight=9]; 1592 -> 1219[label="",style="solid", color="burlywood", weight=3]; 1593[label="vuz10700/Zero",fontsize=10,color="white",style="solid",shape="box"];1210 -> 1593[label="",style="solid", color="burlywood", weight=9]; 1593 -> 1220[label="",style="solid", color="burlywood", weight=3]; 1211[label="absReal1 (Integer (Neg vuz10700)) (not (primCmpInt (Neg vuz10700) (Pos Zero) == LT))",fontsize=16,color="burlywood",shape="box"];1594[label="vuz10700/Succ vuz107000",fontsize=10,color="white",style="solid",shape="box"];1211 -> 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"];1211 -> 1595[label="",style="solid", color="burlywood", weight=9]; 1595 -> 1222[label="",style="solid", color="burlywood", weight=3]; 1212[label="Integer vuz1040 `rem` Integer vuz1020",fontsize=16,color="black",shape="box"];1212 -> 1223[label="",style="solid", color="black", weight=3]; 1214 -> 1174[label="",style="dashed", color="red", weight=0]; 1214[label="vuz104 `rem` vuz102",fontsize=16,color="magenta"];1213[label="gcd0Gcd'0 vuz102 vuz109",fontsize=16,color="black",shape="triangle"];1213 -> 1224[label="",style="solid", color="black", weight=3]; 1215 -> 486[label="",style="dashed", color="red", weight=0]; 1215[label="primDivNatS vuz510 (Succ vuz104000)",fontsize=16,color="magenta"];1215 -> 1233[label="",style="dashed", color="magenta", weight=3]; 1215 -> 1234[label="",style="dashed", color="magenta", weight=3]; 1216 -> 486[label="",style="dashed", color="red", weight=0]; 1216[label="primDivNatS vuz510 (Succ vuz104000)",fontsize=16,color="magenta"];1216 -> 1235[label="",style="dashed", color="magenta", weight=3]; 1216 -> 1236[label="",style="dashed", color="magenta", weight=3]; 1217 -> 486[label="",style="dashed", color="red", weight=0]; 1217[label="primDivNatS vuz510 (Succ vuz104000)",fontsize=16,color="magenta"];1217 -> 1237[label="",style="dashed", color="magenta", weight=3]; 1217 -> 1238[label="",style="dashed", color="magenta", weight=3]; 1218 -> 486[label="",style="dashed", color="red", weight=0]; 1218[label="primDivNatS vuz510 (Succ vuz104000)",fontsize=16,color="magenta"];1218 -> 1239[label="",style="dashed", color="magenta", weight=3]; 1218 -> 1240[label="",style="dashed", color="magenta", weight=3]; 808[label="Neg (Succ vuz3300)",fontsize=16,color="green",shape="box"];809[label="primModNatS0 (Succ vuz75000) vuz7400 (primGEqNatS (Succ vuz75000) vuz7400)",fontsize=16,color="burlywood",shape="box"];1596[label="vuz7400/Succ vuz74000",fontsize=10,color="white",style="solid",shape="box"];809 -> 1596[label="",style="solid", color="burlywood", weight=9]; 1596 -> 840[label="",style="solid", color="burlywood", weight=3]; 1597[label="vuz7400/Zero",fontsize=10,color="white",style="solid",shape="box"];809 -> 1597[label="",style="solid", color="burlywood", weight=9]; 1597 -> 841[label="",style="solid", color="burlywood", weight=3]; 810[label="primModNatS0 Zero vuz7400 (primGEqNatS Zero vuz7400)",fontsize=16,color="burlywood",shape="box"];1598[label="vuz7400/Succ vuz74000",fontsize=10,color="white",style="solid",shape="box"];810 -> 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"];810 -> 1599[label="",style="solid", color="burlywood", weight=9]; 1599 -> 843[label="",style="solid", color="burlywood", weight=3]; 1219[label="absReal1 (Integer (Pos (Succ vuz107000))) (not (primCmpInt (Pos (Succ vuz107000)) (Pos Zero) == LT))",fontsize=16,color="black",shape="box"];1219 -> 1241[label="",style="solid", color="black", weight=3]; 1220[label="absReal1 (Integer (Pos Zero)) (not (primCmpInt (Pos Zero) (Pos Zero) == LT))",fontsize=16,color="black",shape="box"];1220 -> 1242[label="",style="solid", color="black", weight=3]; 1221[label="absReal1 (Integer (Neg (Succ vuz107000))) (not (primCmpInt (Neg (Succ vuz107000)) (Pos Zero) == LT))",fontsize=16,color="black",shape="box"];1221 -> 1243[label="",style="solid", color="black", weight=3]; 1222[label="absReal1 (Integer (Neg Zero)) (not (primCmpInt (Neg Zero) (Pos Zero) == LT))",fontsize=16,color="black",shape="box"];1222 -> 1244[label="",style="solid", color="black", weight=3]; 1223[label="Integer (primRemInt vuz1040 vuz1020)",fontsize=16,color="green",shape="box"];1223 -> 1245[label="",style="dashed", color="green", weight=3]; 1224 -> 1120[label="",style="dashed", color="red", weight=0]; 1224[label="gcd0Gcd' vuz109 (vuz102 `rem` vuz109)",fontsize=16,color="magenta"];1224 -> 1246[label="",style="dashed", color="magenta", weight=3]; 1224 -> 1247[label="",style="dashed", color="magenta", weight=3]; 1233[label="vuz510",fontsize=16,color="green",shape="box"];1234[label="vuz104000",fontsize=16,color="green",shape="box"];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"];840[label="primModNatS0 (Succ vuz75000) (Succ vuz74000) (primGEqNatS (Succ vuz75000) (Succ vuz74000))",fontsize=16,color="black",shape="box"];840 -> 852[label="",style="solid", color="black", weight=3]; 841[label="primModNatS0 (Succ vuz75000) Zero (primGEqNatS (Succ vuz75000) Zero)",fontsize=16,color="black",shape="box"];841 -> 853[label="",style="solid", color="black", weight=3]; 842[label="primModNatS0 Zero (Succ vuz74000) (primGEqNatS Zero (Succ vuz74000))",fontsize=16,color="black",shape="box"];842 -> 854[label="",style="solid", color="black", weight=3]; 843[label="primModNatS0 Zero Zero (primGEqNatS Zero Zero)",fontsize=16,color="black",shape="box"];843 -> 855[label="",style="solid", color="black", weight=3]; 1241[label="absReal1 (Integer (Pos (Succ vuz107000))) (not (primCmpNat (Succ vuz107000) Zero == LT))",fontsize=16,color="black",shape="box"];1241 -> 1256[label="",style="solid", color="black", weight=3]; 1242[label="absReal1 (Integer (Pos Zero)) (not (EQ == LT))",fontsize=16,color="black",shape="box"];1242 -> 1257[label="",style="solid", color="black", weight=3]; 1243[label="absReal1 (Integer (Neg (Succ vuz107000))) (not (LT == LT))",fontsize=16,color="black",shape="box"];1243 -> 1258[label="",style="solid", color="black", weight=3]; 1244[label="absReal1 (Integer (Neg Zero)) (not (EQ == LT))",fontsize=16,color="black",shape="box"];1244 -> 1259[label="",style="solid", color="black", weight=3]; 1245 -> 644[label="",style="dashed", color="red", weight=0]; 1245[label="primRemInt vuz1040 vuz1020",fontsize=16,color="magenta"];1245 -> 1260[label="",style="dashed", color="magenta", weight=3]; 1245 -> 1261[label="",style="dashed", color="magenta", weight=3]; 1246[label="vuz109",fontsize=16,color="green",shape="box"];1247[label="vuz102",fontsize=16,color="green",shape="box"];852 -> 1354[label="",style="dashed", color="red", weight=0]; 852[label="primModNatS0 (Succ vuz75000) (Succ vuz74000) (primGEqNatS vuz75000 vuz74000)",fontsize=16,color="magenta"];852 -> 1355[label="",style="dashed", color="magenta", weight=3]; 852 -> 1356[label="",style="dashed", color="magenta", weight=3]; 852 -> 1357[label="",style="dashed", color="magenta", weight=3]; 852 -> 1358[label="",style="dashed", color="magenta", weight=3]; 853[label="primModNatS0 (Succ vuz75000) Zero True",fontsize=16,color="black",shape="box"];853 -> 866[label="",style="solid", color="black", weight=3]; 854[label="primModNatS0 Zero (Succ vuz74000) False",fontsize=16,color="black",shape="box"];854 -> 867[label="",style="solid", color="black", weight=3]; 855[label="primModNatS0 Zero Zero True",fontsize=16,color="black",shape="box"];855 -> 868[label="",style="solid", color="black", weight=3]; 1256[label="absReal1 (Integer (Pos (Succ vuz107000))) (not (GT == LT))",fontsize=16,color="black",shape="box"];1256 -> 1267[label="",style="solid", color="black", weight=3]; 1257[label="absReal1 (Integer (Pos Zero)) (not False)",fontsize=16,color="black",shape="box"];1257 -> 1268[label="",style="solid", color="black", weight=3]; 1258[label="absReal1 (Integer (Neg (Succ vuz107000))) (not True)",fontsize=16,color="black",shape="box"];1258 -> 1269[label="",style="solid", color="black", weight=3]; 1259[label="absReal1 (Integer (Neg Zero)) (not False)",fontsize=16,color="black",shape="box"];1259 -> 1270[label="",style="solid", color="black", weight=3]; 1260[label="vuz1040",fontsize=16,color="green",shape="box"];1261[label="vuz1020",fontsize=16,color="green",shape="box"];1355[label="vuz75000",fontsize=16,color="green",shape="box"];1356[label="vuz74000",fontsize=16,color="green",shape="box"];1357[label="vuz75000",fontsize=16,color="green",shape="box"];1358[label="vuz74000",fontsize=16,color="green",shape="box"];1354[label="primModNatS0 (Succ vuz130) (Succ vuz131) (primGEqNatS vuz132 vuz133)",fontsize=16,color="burlywood",shape="triangle"];1600[label="vuz132/Succ vuz1320",fontsize=10,color="white",style="solid",shape="box"];1354 -> 1600[label="",style="solid", color="burlywood", weight=9]; 1600 -> 1391[label="",style="solid", color="burlywood", weight=3]; 1601[label="vuz132/Zero",fontsize=10,color="white",style="solid",shape="box"];1354 -> 1601[label="",style="solid", color="burlywood", weight=9]; 1601 -> 1392[label="",style="solid", color="burlywood", weight=3]; 866 -> 753[label="",style="dashed", color="red", weight=0]; 866[label="primModNatS (primMinusNatS (Succ vuz75000) Zero) (Succ Zero)",fontsize=16,color="magenta"];866 -> 908[label="",style="dashed", color="magenta", weight=3]; 866 -> 909[label="",style="dashed", color="magenta", weight=3]; 867[label="Succ Zero",fontsize=16,color="green",shape="box"];868 -> 753[label="",style="dashed", color="red", weight=0]; 868[label="primModNatS (primMinusNatS Zero 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]; 1267[label="absReal1 (Integer (Pos (Succ vuz107000))) (not False)",fontsize=16,color="black",shape="box"];1267 -> 1273[label="",style="solid", color="black", weight=3]; 1268[label="absReal1 (Integer (Pos Zero)) True",fontsize=16,color="black",shape="box"];1268 -> 1274[label="",style="solid", color="black", weight=3]; 1269[label="absReal1 (Integer (Neg (Succ vuz107000))) False",fontsize=16,color="black",shape="box"];1269 -> 1275[label="",style="solid", color="black", weight=3]; 1270[label="absReal1 (Integer (Neg Zero)) True",fontsize=16,color="black",shape="box"];1270 -> 1276[label="",style="solid", color="black", weight=3]; 1391[label="primModNatS0 (Succ vuz130) (Succ vuz131) (primGEqNatS (Succ vuz1320) vuz133)",fontsize=16,color="burlywood",shape="box"];1602[label="vuz133/Succ vuz1330",fontsize=10,color="white",style="solid",shape="box"];1391 -> 1602[label="",style="solid", color="burlywood", weight=9]; 1602 -> 1393[label="",style="solid", color="burlywood", weight=3]; 1603[label="vuz133/Zero",fontsize=10,color="white",style="solid",shape="box"];1391 -> 1603[label="",style="solid", color="burlywood", weight=9]; 1603 -> 1394[label="",style="solid", color="burlywood", weight=3]; 1392[label="primModNatS0 (Succ vuz130) (Succ vuz131) (primGEqNatS Zero vuz133)",fontsize=16,color="burlywood",shape="box"];1604[label="vuz133/Succ vuz1330",fontsize=10,color="white",style="solid",shape="box"];1392 -> 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"];1392 -> 1605[label="",style="solid", color="burlywood", weight=9]; 1605 -> 1396[label="",style="solid", color="burlywood", weight=3]; 908 -> 577[label="",style="dashed", color="red", weight=0]; 908[label="primMinusNatS (Succ vuz75000) Zero",fontsize=16,color="magenta"];908 -> 923[label="",style="dashed", color="magenta", weight=3]; 909[label="Zero",fontsize=16,color="green",shape="box"];910 -> 579[label="",style="dashed", color="red", weight=0]; 910[label="primMinusNatS Zero Zero",fontsize=16,color="magenta"];911[label="Zero",fontsize=16,color="green",shape="box"];1273[label="absReal1 (Integer (Pos (Succ vuz107000))) True",fontsize=16,color="black",shape="box"];1273 -> 1283[label="",style="solid", color="black", weight=3]; 1274[label="Integer (Pos Zero)",fontsize=16,color="green",shape="box"];1275[label="absReal0 (Integer (Neg (Succ vuz107000))) otherwise",fontsize=16,color="black",shape="box"];1275 -> 1284[label="",style="solid", color="black", weight=3]; 1276[label="Integer (Neg Zero)",fontsize=16,color="green",shape="box"];1393[label="primModNatS0 (Succ vuz130) (Succ vuz131) (primGEqNatS (Succ vuz1320) (Succ vuz1330))",fontsize=16,color="black",shape="box"];1393 -> 1397[label="",style="solid", color="black", weight=3]; 1394[label="primModNatS0 (Succ vuz130) (Succ vuz131) (primGEqNatS (Succ vuz1320) Zero)",fontsize=16,color="black",shape="box"];1394 -> 1398[label="",style="solid", color="black", weight=3]; 1395[label="primModNatS0 (Succ vuz130) (Succ vuz131) (primGEqNatS Zero (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 Zero Zero)",fontsize=16,color="black",shape="box"];1396 -> 1400[label="",style="solid", color="black", weight=3]; 923[label="vuz75000",fontsize=16,color="green",shape="box"];1283[label="Integer (Pos (Succ vuz107000))",fontsize=16,color="green",shape="box"];1284[label="absReal0 (Integer (Neg (Succ vuz107000))) True",fontsize=16,color="black",shape="box"];1284 -> 1291[label="",style="solid", color="black", weight=3]; 1397 -> 1354[label="",style="dashed", color="red", weight=0]; 1397[label="primModNatS0 (Succ vuz130) (Succ vuz131) (primGEqNatS vuz1320 vuz1330)",fontsize=16,color="magenta"];1397 -> 1401[label="",style="dashed", color="magenta", weight=3]; 1397 -> 1402[label="",style="dashed", color="magenta", weight=3]; 1398[label="primModNatS0 (Succ vuz130) (Succ vuz131) True",fontsize=16,color="black",shape="triangle"];1398 -> 1403[label="",style="solid", color="black", weight=3]; 1399[label="primModNatS0 (Succ vuz130) (Succ vuz131) False",fontsize=16,color="black",shape="box"];1399 -> 1404[label="",style="solid", color="black", weight=3]; 1400 -> 1398[label="",style="dashed", color="red", weight=0]; 1400[label="primModNatS0 (Succ vuz130) (Succ vuz131) True",fontsize=16,color="magenta"];1291 -> 69[label="",style="dashed", color="red", weight=0]; 1291[label="`negate` Integer (Neg (Succ vuz107000))",fontsize=16,color="magenta"];1291 -> 1296[label="",style="dashed", color="magenta", weight=3]; 1401[label="vuz1320",fontsize=16,color="green",shape="box"];1402[label="vuz1330",fontsize=16,color="green",shape="box"];1403 -> 753[label="",style="dashed", color="red", weight=0]; 1403[label="primModNatS (primMinusNatS (Succ vuz130) (Succ vuz131)) (Succ (Succ vuz131))",fontsize=16,color="magenta"];1403 -> 1405[label="",style="dashed", color="magenta", weight=3]; 1403 -> 1406[label="",style="dashed", color="magenta", weight=3]; 1404[label="Succ (Succ vuz130)",fontsize=16,color="green",shape="box"];1296[label="Integer (Neg (Succ vuz107000))",fontsize=16,color="green",shape="box"];1405 -> 1039[label="",style="dashed", color="red", weight=0]; 1405[label="primMinusNatS (Succ vuz130) (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 vuz131",fontsize=16,color="green",shape="box"];1407[label="Succ vuz130",fontsize=16,color="green",shape="box"];1408[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_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 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_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_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_esEs0(Neg(Succ(vuz2500))) -> False new_primMinusNatS0(vuz32000) -> Succ(vuz32000) 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_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero new_error -> error([]) new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_esEs0(Neg(Zero)) -> True new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) new_esEs0(Pos(Zero)) -> True new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error new_rem0(vuz75, vuz74) -> new_primRemInt(vuz75, vuz74) The set Q consists of the following terms: new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primMinusNatS1 new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(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_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, 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_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 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_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_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_esEs0(Neg(Succ(vuz2500))) -> False new_primMinusNatS0(vuz32000) -> Succ(vuz32000) 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_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero new_error -> error([]) new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_esEs0(Neg(Zero)) -> True new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) new_esEs0(Pos(Zero)) -> True new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error new_rem0(vuz75, vuz74) -> new_primRemInt(vuz75, vuz74) The set Q consists of the following terms: new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primMinusNatS1 new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(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_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, 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_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 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_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_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_esEs0(Neg(Succ(vuz2500))) -> False new_primMinusNatS0(vuz32000) -> Succ(vuz32000) 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_primModNatS1(Zero, vuz7400) -> Zero new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero new_error -> error([]) new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_esEs0(Neg(Zero)) -> True new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) new_esEs0(Pos(Zero)) -> True new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error new_rem0(vuz75, vuz74) -> new_primRemInt(vuz75, vuz74) The set Q consists of the following terms: new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primMinusNatS1 new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(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_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, 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, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primModNatS01(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_primMinusNatS1 new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(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_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, 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, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primModNatS01(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_primMinusNatS1 new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(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_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, 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, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primModNatS01(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_primModNatS01(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_primModNatS01(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_primModNatS01(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_primModNatS01(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, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primModNatS01(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_primMinusNatS1 new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(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_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, 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, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primModNatS01(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_primMinusNatS1 new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(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_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, 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, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primModNatS01(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_primMinusNatS1 new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(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_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, 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, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primModNatS01(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_primMinusNatS1 new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(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_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, 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, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primModNatS01(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_primMinusNatS1 new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(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_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, 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, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primModNatS01(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_primMinusNatS1 new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(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_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, 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, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primModNatS01(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_primMinusNatS1 new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(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_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, 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, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primModNatS01(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_primMinusNatS1 new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(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_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, 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, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primModNatS01(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_primMinusNatS1 new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(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_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, 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, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primModNatS01(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_primMinusNatS1 new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(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_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, 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, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primModNatS01(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_primMinusNatS1 new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(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_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, 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, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primModNatS01(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_primMinusNatS1 new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(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_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, 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_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) new_esEs0(Neg(Succ(vuz2500))) -> False new_esEs0(Neg(Zero)) -> True new_primModNatS01(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_primMinusNatS1 new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(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_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, 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_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) new_esEs0(Neg(Succ(vuz2500))) -> False new_esEs0(Neg(Zero)) -> True new_primModNatS01(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_primMinusNatS1 new_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) 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_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, 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_primModNatS01(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_primModNatS01(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_primModNatS01(x0, x1, x0, x1))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primModNatS1(Zero, vuz7400) -> Zero new_primModNatS1(Succ(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_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) new_esEs0(Neg(Succ(vuz2500))) -> False new_esEs0(Neg(Zero)) -> True new_primModNatS01(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_primMinusNatS1 new_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) 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_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, 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_primModNatS01(x0, x1, x0, x1))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primModNatS1(Zero, vuz7400) -> Zero new_primModNatS1(Succ(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_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) new_esEs0(Neg(Succ(vuz2500))) -> False new_esEs0(Neg(Zero)) -> True new_primModNatS01(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_primMinusNatS1 new_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) 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_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, 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_primModNatS01(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_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) new_esEs0(Neg(Succ(vuz2500))) -> False new_esEs0(Neg(Zero)) -> True new_primModNatS01(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_primMinusNatS1 new_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) 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_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, 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_primModNatS01(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_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) new_esEs0(Neg(Succ(vuz2500))) -> False new_esEs0(Neg(Zero)) -> True new_primModNatS01(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_primMinusNatS1 new_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) 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_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, 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_primModNatS01(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_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) new_esEs0(Neg(Succ(vuz2500))) -> False new_esEs0(Neg(Zero)) -> True new_primModNatS01(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_primMinusNatS1 new_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) 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_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, 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_primModNatS01(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_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0))))) ---------------------------------------- (79) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'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_primModNatS01(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_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primModNatS1(Zero, vuz7400) -> Zero new_primModNatS1(Succ(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_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) new_esEs0(Neg(Succ(vuz2500))) -> False new_esEs0(Neg(Zero)) -> True new_primModNatS01(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_primMinusNatS1 new_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) 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_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, 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_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) new_esEs0(Neg(Succ(vuz2500))) -> False new_esEs0(Neg(Zero)) -> True new_primModNatS01(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_primMinusNatS1 new_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) 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_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, 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_primMinusNatS1 new_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) 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_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, 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_primMinusNatS2(Succ(x0), Zero) new_primMinusNatS2(Zero, Zero) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, 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_primModNatS01(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_primModNatS01(x0, x1, x0, x1))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primModNatS1(Zero, vuz7400) -> Zero new_primModNatS1(Succ(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_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) new_esEs0(Neg(Succ(vuz2500))) -> False new_esEs0(Neg(Zero)) -> True new_primModNatS01(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_primMinusNatS1 new_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) 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_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, 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_primModNatS01(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_primModNatS01(x0, x1, x0, x1))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS01(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_primMinusNatS1 new_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) 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_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, 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_primModNatS01(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_primModNatS01(x0, x1, x0, x1))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS01(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_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) 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_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, 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_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) at position [0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(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_primModNatS02(Zero, Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))))) (new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS01(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_primModNatS01(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_primModNatS02(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_primModNatS02(Succ(x2), 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(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_primModNatS01(x0, x1, x0, x1))) new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(Zero, Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS01(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_primModNatS02(Succ(x2), 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(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_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS01(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_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) 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_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, 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(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(Zero, Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) at position [0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'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))))) ---------------------------------------- (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_primModNatS01(x0, x1, x0, x1))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS01(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_primModNatS02(Succ(x2), 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(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(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_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS01(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_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) 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_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, 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(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(Succ(x2), Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) at position [0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'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)))))) ---------------------------------------- (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_primModNatS01(x0, x1, x0, x1))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS01(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(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(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_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS01(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_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) 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_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, 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_primModNatS01(x0, x1, x0, x1))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS01(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(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(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_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS01(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_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) 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_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, 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(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))))) ---------------------------------------- (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_primModNatS01(x0, x1, x0, x1))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS01(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(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)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS01(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_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) 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_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, 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(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)))))) ---------------------------------------- (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_primModNatS01(x0, x1, x0, x1))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS01(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(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_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS01(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_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) 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_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, 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(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))))) ---------------------------------------- (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_primModNatS01(x0, x1, x0, x1))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS01(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(Zero, Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS01(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_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) 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_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, 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(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)))))) ---------------------------------------- (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_primModNatS01(x0, x1, x0, x1))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS01(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(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_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS01(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_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) 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_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, 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_primModNatS01(x0, x1, x0, x1))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS01(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_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS01(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_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) 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_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, 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_primModNatS01(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_primModNatS01(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_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS01(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_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) 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_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, 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_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) at position [0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(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_primModNatS02(Succ(Zero), 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(Succ(x3)))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))),new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2))))))) (new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(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_primModNatS02(Succ(Succ(x2)), 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(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_primModNatS01(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(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(Succ(Zero), 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(Succ(x3)))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(Succ(Succ(x2)), 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(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_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS01(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_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) 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_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, 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(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(Succ(Zero), Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) at position [0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'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)))))) ---------------------------------------- (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_primModNatS01(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_primModNatS01(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_primModNatS02(Succ(Succ(x2)), 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(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(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_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS01(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_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) 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_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, 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(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) at position [0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'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))))))) ---------------------------------------- (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_primModNatS01(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_primModNatS01(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(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(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_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS01(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_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) 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_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, 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_primModNatS01(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_primModNatS01(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(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(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_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS01(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_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) 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_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, 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(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)))))) ---------------------------------------- (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_primModNatS01(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_primModNatS01(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(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))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS01(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_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) 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_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, 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(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))))))) ---------------------------------------- (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_primModNatS01(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_primModNatS01(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(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS01(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_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) 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_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, 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(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)))))) ---------------------------------------- (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_primModNatS01(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_primModNatS01(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(Zero, Zero), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS01(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_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) 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_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, 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(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))))))) ---------------------------------------- (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_primModNatS01(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_primModNatS01(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(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_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS01(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_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) 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_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, 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(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)))))) ---------------------------------------- (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_primModNatS01(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_primModNatS01(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(Zero, Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS01(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_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) 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_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, 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(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))))))) ---------------------------------------- (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_primModNatS01(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_primModNatS01(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(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_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS01(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_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) 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_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, 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_primModNatS01(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_primModNatS01(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_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS01(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_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) 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_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, 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_primModNatS01(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_primModNatS01(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_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS01(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_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) 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_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, 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_primModNatS01(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(Zero)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(Zero, Zero))),new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(Zero, 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_primModNatS01(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_primModNatS01(Succ(x2), Succ(x3), x2, x3)))) (new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(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_primModNatS02(Succ(x2), 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_primModNatS01(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(Zero)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(Zero, 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_primModNatS01(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(Succ(x2), 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_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS01(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_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) 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_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, 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_primModNatS02(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_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS01(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_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) 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_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, 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_primModNatS02(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_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS01(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_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) 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_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, 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_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS01(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_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) 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_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, 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_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS01(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_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) 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_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, 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_primModNatS01(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_primModNatS01(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_primModNatS01(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_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS01(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_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) 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_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, 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_primModNatS01(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_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS01(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_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) 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_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, 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_primModNatS01(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_primModNatS01(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_primModNatS01(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_primModNatS01(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_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS01(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_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) 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_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, 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_primModNatS01(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_primModNatS01(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_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS01(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_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) 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_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, 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_primModNatS01(x0, Zero, x0, Zero))) The remaining pairs can at least be oriented weakly. Used ordering: Polynomial interpretation [POLO]: POL(False) = 0 POL(Neg(x_1)) = 2*x_1 POL(Succ(x_1)) = 1 + x_1 POL(True) = 3 POL(Zero) = 2 POL(new_esEs0(x_1)) = 0 POL(new_gcd0Gcd'00(x_1, x_2)) = 2 + x_1 + x_2 POL(new_gcd0Gcd'10(x_1, x_2, x_3)) = 2 + x_2 + x_3 POL(new_primMinusNatS2(x_1, x_2)) = x_1 POL(new_primModNatS01(x_1, x_2, x_3, x_4)) = 2 + x_1 POL(new_primModNatS02(x_1, x_2)) = 2 + x_1 POL(new_primModNatS1(x_1, x_2)) = x_1 The following usable rules [FROCOS05] with respect to the argument filtering of the ordering [JAR06] were oriented: new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(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_primModNatS01(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_primModNatS01(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_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS01(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_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) 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_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, 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_primModNatS01(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_primModNatS01(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_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS01(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_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) 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_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, 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_primModNatS01(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(Zero))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(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_primModNatS02(Succ(Zero), 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_primModNatS01(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_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)))) (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_primModNatS02(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_primModNatS02(Succ(Succ(x2)), 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_primModNatS01(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(Zero))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Zero), 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_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 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_primModNatS02(Succ(Succ(x2)), 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_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS01(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_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) 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_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, 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_primModNatS02(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_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS01(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_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) 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_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, 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_primModNatS02(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_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS01(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_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) 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_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, 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_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS01(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_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) 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_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, 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_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS01(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_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) 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_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, 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_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS01(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_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) 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_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, 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_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS01(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_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS2(Succ(x0), Zero) new_primMinusNatS2(Zero, Zero) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) new_primModNatS1(Succ(Zero), Zero) new_esEs0(Neg(Zero)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, 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_primModNatS01(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_primModNatS01(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_primModNatS01(x25, x24, x28, x29)=Succ(x21) which results in the following new constraints: (9) (new_primModNatS02(x31, x30)=Succ(x21) & x31=Zero & x30=Zero & Succ(Zero)=x30 ==> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Succ(x31)))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(Succ(x31)), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(x31)))))))) (10) (new_primModNatS01(x35, x34, x33, x32)=Succ(x21) & x35=Succ(x33) & x34=Succ(x32) & Succ(Zero)=x34 & (\/x36:new_primModNatS01(x35, x34, x33, x32)=Succ(x36) & x35=x33 & x34=x32 & Succ(Zero)=x34 ==> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Succ(x35)))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(Succ(x35)), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(x35)))))))) ==> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Succ(x35)))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(Succ(x35)), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(x35)))))))) (11) (new_primModNatS02(x39, x38)=Succ(x21) & x39=Succ(x37) & x38=Zero & Succ(Zero)=x38 ==> new_gcd0Gcd'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(x33))))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(Succ(Succ(x33))), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x33))))))))) We solved constraint (11) using rules (I), (II), (III).We simplified constraint (12) using rules (I), (II), (III), (IV) which results in the following new constraint: (14) (new_gcd0Gcd'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_primModNatS01(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_primModNatS01(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_primModNatS01(x48, x47, x51, x52)=Succ(Succ(Succ(Succ(x18)))) which results in the following new constraints: (6) (new_primModNatS02(x54, x53)=Succ(Succ(Succ(Succ(x18)))) & x54=Zero & x53=Zero & Succ(Zero)=x53 ==> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(x54)))))))_>=_new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(Succ(x54)), Succ(Succ(Zero)))))) (7) (new_primModNatS01(x58, x57, x56, x55)=Succ(Succ(Succ(Succ(x18)))) & x58=Succ(x56) & x57=Succ(x55) & Succ(Zero)=x57 & (\/x59:new_primModNatS01(x58, x57, x56, x55)=Succ(Succ(Succ(Succ(x59)))) & x58=x56 & x57=x55 & Succ(Zero)=x57 ==> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(x58)))))))_>=_new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(Succ(x58)), Succ(Succ(Zero)))))) ==> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(x58)))))))_>=_new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(Succ(x58)), Succ(Succ(Zero)))))) (8) (new_primModNatS02(x62, x61)=Succ(Succ(Succ(Succ(x18)))) & x62=Succ(x60) & 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(x56))))))))_>=_new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(Succ(Succ(x56))), Succ(Succ(Zero)))))) We solved constraint (8) using rules (I), (II), (III).We solved constraint (9) using rules (I), (II), (III), (IV). To summarize, we get the following constraints P__>=_ for the following pairs. *new_gcd0Gcd'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(x33))))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(Succ(Succ(x33))), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x33))))))))) *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(x56))))))))_>=_new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(Succ(Succ(x56))), Succ(Succ(Zero)))))) The constraints for P_> respective P_bound are constructed from P__>=_ where we just replace every occurence of "t _>=_ s" in P__>=_ by "t > s" respective "t _>=_ c". Here c stands for the fresh constant used for P_bound. ---------------------------------------- (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_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS01(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_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) 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_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, 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_primModNatS01(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_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS01(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_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) 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_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, 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_primModNatS01(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_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS01(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_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS2(Succ(x0), Zero) new_primMinusNatS2(Zero, Zero) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) new_primModNatS1(Succ(Zero), Zero) new_esEs0(Neg(Zero)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, 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_primModNatS01(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_primModNatS01(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_primModNatS01(Succ(Succ(x4)), Succ(Succ(x5)), x4, x5))), Neg(Succ(Succ(Succ(Succ(x5))))), Neg(Succ(Succ(Succ(Succ(x4)))))) which results in the following constraint: (1) (new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(new_primModNatS01(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_primModNatS01(Succ(Succ(x3)), Succ(Succ(x2)), x3, x2)))) We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: (2) (Succ(Succ(x3))=x12 & Succ(Succ(x2))=x13 & new_primModNatS01(x12, x13, x3, x2)=Succ(Succ(Succ(Succ(x5)))) ==> new_gcd0Gcd'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_primModNatS01(Succ(Succ(x3)), Succ(Succ(x2)), x3, x2)))) We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x12, x13, x3, x2)=Succ(Succ(Succ(Succ(x5)))) which results in the following new constraints: (3) (new_primModNatS02(x15, x14)=Succ(Succ(Succ(Succ(x5)))) & Succ(Succ(Zero))=x15 & Succ(Succ(Zero))=x14 ==> new_gcd0Gcd'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_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero)))) (4) (new_primModNatS01(x19, x18, x17, x16)=Succ(Succ(Succ(Succ(x5)))) & Succ(Succ(Succ(x17)))=x19 & Succ(Succ(Succ(x16)))=x18 & (\/x20:new_primModNatS01(x19, x18, x17, x16)=Succ(Succ(Succ(Succ(x20)))) & Succ(Succ(x17))=x19 & Succ(Succ(x16))=x18 ==> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x16))))), Neg(Succ(Succ(Succ(Succ(x17))))))_>=_new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x16))))), Neg(new_primModNatS01(Succ(Succ(x17)), Succ(Succ(x16)), x17, x16)))) ==> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(Succ(x16)))))), Neg(Succ(Succ(Succ(Succ(Succ(x17)))))))_>=_new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Succ(x16)))))), Neg(new_primModNatS01(Succ(Succ(Succ(x17))), Succ(Succ(Succ(x16))), Succ(x17), Succ(x16))))) (5) (new_primModNatS02(x23, x22)=Succ(Succ(Succ(Succ(x5)))) & Succ(Succ(Succ(x21)))=x23 & Succ(Succ(Zero))=x22 ==> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Succ(x21)))))))_>=_new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(new_primModNatS01(Succ(Succ(Succ(x21))), Succ(Succ(Zero)), Succ(x21), Zero)))) (6) (Succ(Succ(x26))=Succ(Succ(Succ(Succ(x5)))) & Succ(Succ(Zero))=x26 & Succ(Succ(Succ(x24)))=x25 ==> new_gcd0Gcd'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_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Succ(x24))), Zero, Succ(x24))))) We simplified constraint (3) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x15, x14)=Succ(Succ(Succ(Succ(x5)))) which results in the following new constraint: (7) (new_primModNatS1(new_primMinusNatS2(Succ(x28), Succ(x27)), Succ(x27))=Succ(Succ(Succ(Succ(x5)))) & Succ(Succ(Zero))=x28 & Succ(Succ(Zero))=x27 ==> 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_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero)))) We simplified constraint (4) using rule (IV) which results in the following new constraint: (8) (new_primModNatS01(x19, x18, x17, x16)=Succ(Succ(Succ(Succ(x5)))) & Succ(Succ(Succ(x17)))=x19 & Succ(Succ(Succ(x16)))=x18 ==> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(Succ(x16)))))), Neg(Succ(Succ(Succ(Succ(Succ(x17)))))))_>=_new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Succ(x16)))))), Neg(new_primModNatS01(Succ(Succ(Succ(x17))), Succ(Succ(Succ(x16))), Succ(x17), Succ(x16))))) We simplified constraint (5) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x23, x22)=Succ(Succ(Succ(Succ(x5)))) which results in the following new constraint: (9) (new_primModNatS1(new_primMinusNatS2(Succ(x47), Succ(x46)), Succ(x46))=Succ(Succ(Succ(Succ(x5)))) & Succ(Succ(Succ(x21)))=x47 & Succ(Succ(Zero))=x46 ==> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Succ(x21)))))))_>=_new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(new_primModNatS01(Succ(Succ(Succ(x21))), Succ(Succ(Zero)), Succ(x21), Zero)))) We simplified constraint (6) using rules (I), (II), (III), (IV) which results in the following new constraint: (10) (new_gcd0Gcd'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_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Succ(x24))), Zero, Succ(x24))))) We simplified constraint (7) using rules (III), (IV), (VII) which results in the following new constraint: (11) (new_gcd0Gcd'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_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero)))) We simplified constraint (8) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x19, x18, x17, x16)=Succ(Succ(Succ(Succ(x5)))) which results in the following new constraints: (12) (new_primModNatS02(x34, x33)=Succ(Succ(Succ(Succ(x5)))) & Succ(Succ(Succ(Zero)))=x34 & Succ(Succ(Succ(Zero)))=x33 ==> new_gcd0Gcd'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_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero))))) (13) (new_primModNatS01(x38, x37, x36, x35)=Succ(Succ(Succ(Succ(x5)))) & Succ(Succ(Succ(Succ(x36))))=x38 & Succ(Succ(Succ(Succ(x35))))=x37 & (\/x39:new_primModNatS01(x38, x37, x36, x35)=Succ(Succ(Succ(Succ(x39)))) & Succ(Succ(Succ(x36)))=x38 & Succ(Succ(Succ(x35)))=x37 ==> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(Succ(x35)))))), Neg(Succ(Succ(Succ(Succ(Succ(x36)))))))_>=_new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Succ(x35)))))), Neg(new_primModNatS01(Succ(Succ(Succ(x36))), Succ(Succ(Succ(x35))), Succ(x36), Succ(x35))))) ==> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(Succ(Succ(x35))))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x36))))))))_>=_new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Succ(Succ(x35))))))), Neg(new_primModNatS01(Succ(Succ(Succ(Succ(x36)))), Succ(Succ(Succ(Succ(x35)))), Succ(Succ(x36)), Succ(Succ(x35)))))) (14) (new_primModNatS02(x42, x41)=Succ(Succ(Succ(Succ(x5)))) & Succ(Succ(Succ(Succ(x40))))=x42 & Succ(Succ(Succ(Zero)))=x41 ==> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x40))))))))_>=_new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(new_primModNatS01(Succ(Succ(Succ(Succ(x40)))), Succ(Succ(Succ(Zero))), Succ(Succ(x40)), Succ(Zero))))) (15) (Succ(Succ(x45))=Succ(Succ(Succ(Succ(x5)))) & Succ(Succ(Succ(Zero)))=x45 & Succ(Succ(Succ(Succ(x43))))=x44 ==> new_gcd0Gcd'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_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Succ(x43)))), Succ(Zero), Succ(Succ(x43)))))) We simplified constraint (12) using rules (III), (IV) which results in the following new constraint: (16) (new_gcd0Gcd'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_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero))))) We simplified constraint (13) using rules (III), (IV) which results in the following new constraint: (17) (new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(Succ(Succ(x35))))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x36))))))))_>=_new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Succ(Succ(x35))))))), Neg(new_primModNatS01(Succ(Succ(Succ(Succ(x36)))), Succ(Succ(Succ(Succ(x35)))), Succ(Succ(x36)), Succ(Succ(x35)))))) We simplified constraint (14) using rules (III), (IV) which results in the following new constraint: (18) (new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x40))))))))_>=_new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(new_primModNatS01(Succ(Succ(Succ(Succ(x40)))), Succ(Succ(Succ(Zero))), Succ(Succ(x40)), Succ(Zero))))) We simplified constraint (15) using rules (I), (II), (III), (IV) which results in the following new constraint: (19) (new_gcd0Gcd'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_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Succ(x43)))), Succ(Zero), Succ(Succ(x43)))))) We simplified constraint (9) using rules (III), (IV), (VII) which results in the following new constraint: (20) (new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Succ(x21)))))))_>=_new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(new_primModNatS01(Succ(Succ(Succ(x21))), Succ(Succ(Zero)), Succ(x21), 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_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) the following chains were created: *We consider the chain new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x6))))), Neg(Succ(Succ(Succ(Succ(x7)))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS01(Succ(Succ(x6)), Succ(Succ(x7)), x6, x7))), Neg(Succ(Succ(Succ(Succ(x7))))), Neg(Succ(Succ(Succ(Succ(x6)))))), new_gcd0Gcd'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_primModNatS01(Succ(Succ(x9)), Succ(Succ(x8)), x9, x8))) which results in the following constraint: (1) (new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS01(Succ(Succ(x6)), Succ(Succ(x7)), x6, x7))), Neg(Succ(Succ(Succ(Succ(x7))))), Neg(Succ(Succ(Succ(Succ(x6))))))=new_gcd0Gcd'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_primModNatS01(Succ(Succ(x6)), Succ(Succ(x7)), x6, x7))), Neg(Succ(Succ(Succ(Succ(x7))))), Neg(Succ(Succ(Succ(Succ(x6))))))) We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: (2) (Neg(new_primModNatS01(Succ(Succ(x6)), Succ(Succ(x7)), x6, x7))=x52 & new_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_primModNatS01(Succ(Succ(x6)), Succ(Succ(x7)), x6, x7))), Neg(Succ(Succ(Succ(Succ(x7))))), Neg(Succ(Succ(Succ(Succ(x6))))))) We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_esEs0(x52)=False which results in the following new constraint: (3) (False=False & Neg(new_primModNatS01(Succ(Succ(x6)), Succ(Succ(x7)), x6, x7))=Neg(Succ(x53)) ==> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x6))))), Neg(Succ(Succ(Succ(Succ(x7))))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS01(Succ(Succ(x6)), Succ(Succ(x7)), x6, x7))), Neg(Succ(Succ(Succ(Succ(x7))))), Neg(Succ(Succ(Succ(Succ(x6))))))) We simplified constraint (3) using rules (I), (II), (VII) which results in the following new constraint: (4) (Succ(Succ(x6))=x54 & Succ(Succ(x7))=x55 & new_primModNatS01(x54, x55, x6, x7)=Succ(x53) ==> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x6))))), Neg(Succ(Succ(Succ(Succ(x7))))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS01(Succ(Succ(x6)), Succ(Succ(x7)), x6, x7))), Neg(Succ(Succ(Succ(Succ(x7))))), Neg(Succ(Succ(Succ(Succ(x6))))))) We simplified constraint (4) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x54, x55, x6, x7)=Succ(x53) which results in the following new constraints: (5) (new_primModNatS02(x57, x56)=Succ(x53) & Succ(Succ(Zero))=x57 & Succ(Succ(Zero))=x56 ==> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero))), Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))))) (6) (new_primModNatS01(x61, x60, x59, x58)=Succ(x53) & Succ(Succ(Succ(x59)))=x61 & Succ(Succ(Succ(x58)))=x60 & (\/x62:new_primModNatS01(x61, x60, x59, x58)=Succ(x62) & Succ(Succ(x59))=x61 & Succ(Succ(x58))=x60 ==> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x59))))), Neg(Succ(Succ(Succ(Succ(x58))))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS01(Succ(Succ(x59)), Succ(Succ(x58)), x59, x58))), Neg(Succ(Succ(Succ(Succ(x58))))), Neg(Succ(Succ(Succ(Succ(x59))))))) ==> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Succ(x59)))))), Neg(Succ(Succ(Succ(Succ(Succ(x58)))))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS01(Succ(Succ(Succ(x59))), Succ(Succ(Succ(x58))), Succ(x59), Succ(x58)))), Neg(Succ(Succ(Succ(Succ(Succ(x58)))))), Neg(Succ(Succ(Succ(Succ(Succ(x59)))))))) (7) (new_primModNatS02(x65, x64)=Succ(x53) & Succ(Succ(Succ(x63)))=x65 & Succ(Succ(Zero))=x64 ==> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Succ(x63)))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS01(Succ(Succ(Succ(x63))), Succ(Succ(Zero)), Succ(x63), Zero))), Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Succ(x63)))))))) (8) (Succ(Succ(x68))=Succ(x53) & Succ(Succ(Zero))=x68 & Succ(Succ(Succ(x66)))=x67 ==> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Succ(x66)))))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Succ(x66))), Zero, Succ(x66)))), Neg(Succ(Succ(Succ(Succ(Succ(x66)))))), Neg(Succ(Succ(Succ(Succ(Zero))))))) We simplified constraint (5) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x57, x56)=Succ(x53) which results in the following new constraint: (9) (new_primModNatS1(new_primMinusNatS2(Succ(x70), Succ(x69)), Succ(x69))=Succ(x53) & Succ(Succ(Zero))=x70 & Succ(Succ(Zero))=x69 ==> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero))), Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))))) We simplified constraint (6) using rule (IV) which results in the following new constraint: (10) (new_primModNatS01(x61, x60, x59, x58)=Succ(x53) & Succ(Succ(Succ(x59)))=x61 & Succ(Succ(Succ(x58)))=x60 ==> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Succ(x59)))))), Neg(Succ(Succ(Succ(Succ(Succ(x58)))))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS01(Succ(Succ(Succ(x59))), Succ(Succ(Succ(x58))), Succ(x59), Succ(x58)))), Neg(Succ(Succ(Succ(Succ(Succ(x58)))))), Neg(Succ(Succ(Succ(Succ(Succ(x59)))))))) We simplified constraint (7) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x65, x64)=Succ(x53) which results in the following new constraint: (11) (new_primModNatS1(new_primMinusNatS2(Succ(x89), Succ(x88)), Succ(x88))=Succ(x53) & Succ(Succ(Succ(x63)))=x89 & Succ(Succ(Zero))=x88 ==> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Succ(x63)))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS01(Succ(Succ(Succ(x63))), Succ(Succ(Zero)), Succ(x63), Zero))), Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Succ(x63)))))))) We simplified constraint (8) using rules (I), (II), (IV) which results in the following new constraint: (12) (new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Succ(x66)))))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Succ(x66))), Zero, Succ(x66)))), Neg(Succ(Succ(Succ(Succ(Succ(x66)))))), Neg(Succ(Succ(Succ(Succ(Zero))))))) We simplified constraint (9) using rules (III), (IV), (VII) which results in the following new constraint: (13) (new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero))), Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))))) We simplified constraint (10) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x61, x60, x59, x58)=Succ(x53) which results in the following new constraints: (14) (new_primModNatS02(x76, x75)=Succ(x53) & Succ(Succ(Succ(Zero)))=x76 & Succ(Succ(Succ(Zero)))=x75 ==> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))) (15) (new_primModNatS01(x80, x79, x78, x77)=Succ(x53) & Succ(Succ(Succ(Succ(x78))))=x80 & Succ(Succ(Succ(Succ(x77))))=x79 & (\/x81:new_primModNatS01(x80, x79, x78, x77)=Succ(x81) & Succ(Succ(Succ(x78)))=x80 & Succ(Succ(Succ(x77)))=x79 ==> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Succ(x78)))))), Neg(Succ(Succ(Succ(Succ(Succ(x77)))))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS01(Succ(Succ(Succ(x78))), Succ(Succ(Succ(x77))), Succ(x78), Succ(x77)))), Neg(Succ(Succ(Succ(Succ(Succ(x77)))))), Neg(Succ(Succ(Succ(Succ(Succ(x78)))))))) ==> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Succ(Succ(x78))))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x77))))))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS01(Succ(Succ(Succ(Succ(x78)))), Succ(Succ(Succ(Succ(x77)))), Succ(Succ(x78)), Succ(Succ(x77))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x77))))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x78))))))))) (16) (new_primModNatS02(x84, x83)=Succ(x53) & Succ(Succ(Succ(Succ(x82))))=x84 & Succ(Succ(Succ(Zero)))=x83 ==> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Succ(Succ(x82))))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS01(Succ(Succ(Succ(Succ(x82)))), Succ(Succ(Succ(Zero))), Succ(Succ(x82)), Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x82))))))))) (17) (Succ(Succ(x87))=Succ(x53) & Succ(Succ(Succ(Zero)))=x87 & Succ(Succ(Succ(Succ(x85))))=x86 ==> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x85))))))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Succ(x85)))), Succ(Zero), Succ(Succ(x85))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x85))))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))) We simplified constraint (14) using rules (III), (IV) which results in the following new constraint: (18) (new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))) We simplified constraint (15) using rules (III), (IV) which results in the following new constraint: (19) (new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Succ(Succ(x78))))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x77))))))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS01(Succ(Succ(Succ(Succ(x78)))), Succ(Succ(Succ(Succ(x77)))), Succ(Succ(x78)), Succ(Succ(x77))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x77))))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x78))))))))) We simplified constraint (16) using rules (III), (IV) which results in the following new constraint: (20) (new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Succ(Succ(x82))))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS01(Succ(Succ(Succ(Succ(x82)))), Succ(Succ(Succ(Zero))), Succ(Succ(x82)), Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x82))))))))) We simplified constraint (17) using rules (I), (II), (IV) which results in the following new constraint: (21) (new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x85))))))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Succ(x85)))), Succ(Zero), Succ(Succ(x85))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x85))))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))) We simplified constraint (11) using rules (III), (IV), (VII) which results in the following new constraint: (22) (new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Succ(x63)))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS01(Succ(Succ(Succ(x63))), Succ(Succ(Zero)), Succ(x63), Zero))), Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Succ(x63)))))))) To summarize, we get the following constraints P__>=_ for the following pairs. *new_gcd0Gcd'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_primModNatS01(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_primModNatS01(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_primModNatS01(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(Zero))))))_>=_new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero)))) *(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_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero))))) *(new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(Succ(Succ(x35))))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x36))))))))_>=_new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Succ(Succ(x35))))))), Neg(new_primModNatS01(Succ(Succ(Succ(Succ(x36)))), Succ(Succ(Succ(Succ(x35)))), Succ(Succ(x36)), Succ(Succ(x35)))))) *(new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x40))))))))_>=_new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(new_primModNatS01(Succ(Succ(Succ(Succ(x40)))), Succ(Succ(Succ(Zero))), Succ(Succ(x40)), Succ(Zero))))) *(new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Succ(x21)))))))_>=_new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(new_primModNatS01(Succ(Succ(Succ(x21))), Succ(Succ(Zero)), Succ(x21), Zero)))) *new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) *(new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x85))))))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Succ(x85)))), Succ(Zero), Succ(Succ(x85))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x85))))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))) *(new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Succ(x66)))))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Succ(x66))), Zero, Succ(x66)))), Neg(Succ(Succ(Succ(Succ(Succ(x66)))))), Neg(Succ(Succ(Succ(Succ(Zero))))))) *(new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero))), Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))))) *(new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))) *(new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Succ(Succ(x78))))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x77))))))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS01(Succ(Succ(Succ(Succ(x78)))), Succ(Succ(Succ(Succ(x77)))), Succ(Succ(x78)), Succ(Succ(x77))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x77))))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x78))))))))) *(new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Succ(Succ(x82))))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS01(Succ(Succ(Succ(Succ(x82)))), Succ(Succ(Succ(Zero))), Succ(Succ(x82)), Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x82))))))))) *(new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Succ(x63)))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS01(Succ(Succ(Succ(x63))), Succ(Succ(Zero)), Succ(x63), Zero))), Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Succ(x63)))))))) The constraints for P_> respective P_bound are constructed from P__>=_ where we just replace every occurence of "t _>=_ s" in P__>=_ by "t > s" respective "t _>=_ c". Here c stands for the fresh constant used for P_bound. ---------------------------------------- (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_primModNatS01(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_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS01(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_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) 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_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, 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, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primModNatS01(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_primMinusNatS1 new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(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_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, 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_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) new_esEs0(Pos(Succ(vuz2500))) -> False new_esEs0(Pos(Zero)) -> True new_primModNatS01(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_primMinusNatS1 new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(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_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, 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_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) new_esEs0(Pos(Succ(vuz2500))) -> False new_esEs0(Pos(Zero)) -> True new_primModNatS01(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_primMinusNatS1 new_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) 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_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, 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_primModNatS01(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_primModNatS01(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_primModNatS01(x0, x1, x0, x1))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primModNatS1(Zero, vuz7400) -> Zero new_primModNatS1(Succ(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_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) new_esEs0(Pos(Succ(vuz2500))) -> False new_esEs0(Pos(Zero)) -> True new_primModNatS01(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_primMinusNatS1 new_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) 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_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, 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_primModNatS01(x0, x1, x0, x1))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primModNatS1(Zero, vuz7400) -> Zero new_primModNatS1(Succ(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_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) new_esEs0(Pos(Succ(vuz2500))) -> False new_esEs0(Pos(Zero)) -> True new_primModNatS01(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_primMinusNatS1 new_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) 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_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, 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_primModNatS01(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_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) new_esEs0(Pos(Succ(vuz2500))) -> False new_esEs0(Pos(Zero)) -> True new_primModNatS01(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_primMinusNatS1 new_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) 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_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, 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_primModNatS01(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_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) new_esEs0(Pos(Succ(vuz2500))) -> False new_esEs0(Pos(Zero)) -> True new_primModNatS01(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_primMinusNatS1 new_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) 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_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, 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_primModNatS01(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_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) new_esEs0(Pos(Succ(vuz2500))) -> False new_esEs0(Pos(Zero)) -> True new_primModNatS01(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_primMinusNatS1 new_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) 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_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, 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_primModNatS01(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_primModNatS01(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_primModNatS01(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_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primModNatS1(Zero, vuz7400) -> Zero new_primModNatS1(Succ(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_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) new_esEs0(Pos(Succ(vuz2500))) -> False new_esEs0(Pos(Zero)) -> True new_primModNatS01(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_primMinusNatS1 new_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) 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_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, 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_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) new_esEs0(Pos(Succ(vuz2500))) -> False new_esEs0(Pos(Zero)) -> True new_primModNatS01(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_primMinusNatS1 new_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) 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_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, 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_primMinusNatS1 new_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) 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_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, 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_primMinusNatS2(Succ(x0), Zero) new_primMinusNatS2(Zero, Zero) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, 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_primModNatS01(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_primModNatS01(x0, x1, x0, x1))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primModNatS1(Zero, vuz7400) -> Zero new_primModNatS1(Succ(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_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) new_esEs0(Pos(Succ(vuz2500))) -> False new_esEs0(Pos(Zero)) -> True new_primModNatS01(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_primMinusNatS1 new_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) 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_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, 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_primModNatS01(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_primModNatS01(x0, x1, x0, x1))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS01(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_primMinusNatS1 new_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) 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_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, 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_primModNatS01(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_primModNatS01(x0, x1, x0, x1))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS01(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_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) 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_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, 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_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) at position [0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(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_primModNatS02(Zero, Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))))) (new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS01(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_primModNatS01(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_primModNatS02(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_primModNatS02(Succ(x2), 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(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_primModNatS01(x0, x1, x0, x1))) new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(Zero, Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS01(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_primModNatS02(Succ(x2), 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(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_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS01(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_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) 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_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, 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(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(Zero, Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) at position [0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'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))))) ---------------------------------------- (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_primModNatS01(x0, x1, x0, x1))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS01(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_primModNatS02(Succ(x2), 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(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(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_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS01(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_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) 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_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, 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(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(Succ(x2), Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) at position [0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'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)))))) ---------------------------------------- (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_primModNatS01(x0, x1, x0, x1))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS01(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(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(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_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS01(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_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) 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_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, 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_primModNatS01(x0, x1, x0, x1))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS01(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(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(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_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS01(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_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) 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_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, 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(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))))) ---------------------------------------- (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_primModNatS01(x0, x1, x0, x1))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS01(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(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)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS01(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_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) 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_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, 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(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)))))) ---------------------------------------- (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_primModNatS01(x0, x1, x0, x1))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS01(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(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_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS01(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_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) 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_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, 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(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))))) ---------------------------------------- (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_primModNatS01(x0, x1, x0, x1))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS01(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(Zero, Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS01(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_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) 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_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, 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(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)))))) ---------------------------------------- (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_primModNatS01(x0, x1, x0, x1))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS01(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(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_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS01(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_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) 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_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, 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_primModNatS01(x0, x1, x0, x1))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS01(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_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS01(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_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) 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_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, 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_primModNatS01(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_primModNatS01(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_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS01(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_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) 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_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, 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_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) at position [0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(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_primModNatS02(Succ(Zero), 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(Succ(x3)))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))),new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))))) (new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(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_primModNatS02(Succ(Succ(x2)), 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(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_primModNatS01(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(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(Succ(Zero), 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(Succ(x3)))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(Succ(Succ(x2)), 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(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_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS01(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_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) 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_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, 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(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(Succ(Zero), Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) at position [0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'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)))))) ---------------------------------------- (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_primModNatS01(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_primModNatS01(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_primModNatS02(Succ(Succ(x2)), 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(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(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_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS01(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_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) 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_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, 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(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) at position [0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'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))))))) ---------------------------------------- (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_primModNatS01(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_primModNatS01(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(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(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_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS01(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_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) 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_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, 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_primModNatS01(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_primModNatS01(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(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(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_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS01(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_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) 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_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, 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(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)))))) ---------------------------------------- (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_primModNatS01(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_primModNatS01(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(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))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS01(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_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) 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_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, 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(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))))))) ---------------------------------------- (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_primModNatS01(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_primModNatS01(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(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS01(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_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) 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_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, 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(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)))))) ---------------------------------------- (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_primModNatS01(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_primModNatS01(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(Zero, Zero), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS01(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_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) 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_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, 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(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))))))) ---------------------------------------- (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_primModNatS01(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_primModNatS01(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(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_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS01(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_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) 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_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, 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(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)))))) ---------------------------------------- (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_primModNatS01(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_primModNatS01(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(Zero, Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS01(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_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) 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_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, 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(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))))))) ---------------------------------------- (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_primModNatS01(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_primModNatS01(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(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_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS01(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_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) 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_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, 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_primModNatS01(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_primModNatS01(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_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS01(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_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) 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_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, 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_primModNatS01(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_primModNatS01(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_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS01(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_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) 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_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, 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_primModNatS01(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(Zero)))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(Zero, Zero))),new_gcd0Gcd'10(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(Zero, 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_primModNatS01(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_primModNatS01(Succ(x2), Succ(x3), x2, x3)))) (new_gcd0Gcd'10(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(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_primModNatS02(Succ(x2), 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_primModNatS01(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(Zero)))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(Zero, 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_primModNatS01(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'10(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(Succ(x2), 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_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS01(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_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) 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_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, 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_primModNatS02(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_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS01(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_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) 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_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, 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_primModNatS02(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_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS01(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_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) 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_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, 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_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS01(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_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) 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_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, 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_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS01(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_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) 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_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, 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_primModNatS01(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_primModNatS01(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_primModNatS01(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_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS01(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_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) 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_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, 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_primModNatS01(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_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS01(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_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) 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_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, 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_primModNatS01(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_primModNatS01(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_primModNatS01(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_primModNatS01(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_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS01(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_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) 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_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, 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_primModNatS01(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_primModNatS01(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_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS01(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_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) 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_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, 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_primModNatS01(x0, Zero, x0, Zero))) The remaining pairs can at least be oriented weakly. Used ordering: Polynomial interpretation [POLO]: POL(False) = 0 POL(Pos(x_1)) = 2*x_1 POL(Succ(x_1)) = 1 + x_1 POL(True) = 3 POL(Zero) = 2 POL(new_esEs0(x_1)) = 0 POL(new_gcd0Gcd'00(x_1, x_2)) = 2 + x_1 + x_2 POL(new_gcd0Gcd'10(x_1, x_2, x_3)) = 2 + x_2 + x_3 POL(new_primMinusNatS2(x_1, x_2)) = x_1 POL(new_primModNatS01(x_1, x_2, x_3, x_4)) = 2 + x_1 POL(new_primModNatS02(x_1, x_2)) = 2 + x_1 POL(new_primModNatS1(x_1, x_2)) = x_1 The following usable rules [FROCOS05] with respect to the argument filtering of the ordering [JAR06] were oriented: new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(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_primModNatS01(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_primModNatS01(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_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS01(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_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) 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_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, 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_primModNatS01(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_primModNatS01(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_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS01(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_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) 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_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, 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_primModNatS01(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(Zero))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(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_primModNatS02(Succ(Zero), 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_primModNatS01(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_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)))) (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_primModNatS02(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_primModNatS02(Succ(Succ(x2)), 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_primModNatS01(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(Zero))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Zero), 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_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 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_primModNatS02(Succ(Succ(x2)), 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_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS01(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_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) 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_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, 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_primModNatS02(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_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS01(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_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) 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_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, 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_primModNatS02(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_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS01(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_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) 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_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, 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_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS01(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_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) 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_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, 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_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS01(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_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) 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_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, 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_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS01(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_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) 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_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, 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_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS01(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_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) new_primModNatS1(Succ(Zero), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Zero)) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, 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_primModNatS01(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_primModNatS01(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_primModNatS01(x25, x24, x28, x29)=Succ(x21) which results in the following new constraints: (9) (new_primModNatS02(x31, x30)=Succ(x21) & x31=Zero & x30=Zero & Succ(Zero)=x30 ==> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(x31)))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(Succ(x31)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(x31)))))))) (10) (new_primModNatS01(x35, x34, x33, x32)=Succ(x21) & x35=Succ(x33) & x34=Succ(x32) & Succ(Zero)=x34 & (\/x36:new_primModNatS01(x35, x34, x33, x32)=Succ(x36) & x35=x33 & x34=x32 & Succ(Zero)=x34 ==> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(x35)))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(Succ(x35)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(x35)))))))) ==> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(x35)))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(Succ(x35)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(x35)))))))) (11) (new_primModNatS02(x39, x38)=Succ(x21) & x39=Succ(x37) & x38=Zero & Succ(Zero)=x38 ==> new_gcd0Gcd'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(x33))))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(Succ(Succ(x33))), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x33))))))))) We solved constraint (11) using rules (I), (II), (III).We simplified constraint (12) using rules (I), (II), (III), (IV) which results in the following new constraint: (14) (new_gcd0Gcd'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_primModNatS01(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_primModNatS01(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_primModNatS01(x48, x47, x51, x52)=Succ(Succ(Succ(Succ(x18)))) which results in the following new constraints: (6) (new_primModNatS02(x54, x53)=Succ(Succ(Succ(Succ(x18)))) & x54=Zero & x53=Zero & Succ(Zero)=x53 ==> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(x54)))))))_>=_new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(Succ(x54)), Succ(Succ(Zero)))))) (7) (new_primModNatS01(x58, x57, x56, x55)=Succ(Succ(Succ(Succ(x18)))) & x58=Succ(x56) & x57=Succ(x55) & Succ(Zero)=x57 & (\/x59:new_primModNatS01(x58, x57, x56, x55)=Succ(Succ(Succ(Succ(x59)))) & x58=x56 & x57=x55 & Succ(Zero)=x57 ==> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(x58)))))))_>=_new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(Succ(x58)), Succ(Succ(Zero)))))) ==> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(x58)))))))_>=_new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(Succ(x58)), Succ(Succ(Zero)))))) (8) (new_primModNatS02(x62, x61)=Succ(Succ(Succ(Succ(x18)))) & x62=Succ(x60) & 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(x56))))))))_>=_new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(Succ(Succ(x56))), Succ(Succ(Zero)))))) We solved constraint (8) using rules (I), (II), (III).We solved constraint (9) using rules (I), (II), (III), (IV). To summarize, we get the following constraints P__>=_ for the following pairs. *new_gcd0Gcd'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(x33))))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(Succ(Succ(x33))), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x33))))))))) *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(x56))))))))_>=_new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(Succ(Succ(x56))), Succ(Succ(Zero)))))) The constraints for P_> respective P_bound are constructed from P__>=_ where we just replace every occurence of "t _>=_ s" in P__>=_ by "t > s" respective "t _>=_ c". Here c stands for the fresh constant used for P_bound. ---------------------------------------- (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_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS01(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_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) 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_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, 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_primModNatS01(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_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS01(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_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) 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_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, 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_primModNatS01(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_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS01(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_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) new_primModNatS1(Succ(Zero), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs0(Pos(Zero)) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, 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_primModNatS01(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_primModNatS01(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_primModNatS01(Succ(Succ(x4)), Succ(Succ(x5)), x4, x5))), Pos(Succ(Succ(Succ(Succ(x5))))), Pos(Succ(Succ(Succ(Succ(x4)))))) which results in the following constraint: (1) (new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(new_primModNatS01(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_primModNatS01(Succ(Succ(x3)), Succ(Succ(x2)), x3, x2)))) We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: (2) (Succ(Succ(x3))=x12 & Succ(Succ(x2))=x13 & new_primModNatS01(x12, x13, x3, x2)=Succ(Succ(Succ(Succ(x5)))) ==> new_gcd0Gcd'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_primModNatS01(Succ(Succ(x3)), Succ(Succ(x2)), x3, x2)))) We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x12, x13, x3, x2)=Succ(Succ(Succ(Succ(x5)))) which results in the following new constraints: (3) (new_primModNatS02(x15, x14)=Succ(Succ(Succ(Succ(x5)))) & Succ(Succ(Zero))=x15 & Succ(Succ(Zero))=x14 ==> new_gcd0Gcd'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_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero)))) (4) (new_primModNatS01(x19, x18, x17, x16)=Succ(Succ(Succ(Succ(x5)))) & Succ(Succ(Succ(x17)))=x19 & Succ(Succ(Succ(x16)))=x18 & (\/x20:new_primModNatS01(x19, x18, x17, x16)=Succ(Succ(Succ(Succ(x20)))) & Succ(Succ(x17))=x19 & Succ(Succ(x16))=x18 ==> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(x16))))), Pos(Succ(Succ(Succ(Succ(x17))))))_>=_new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x16))))), Pos(new_primModNatS01(Succ(Succ(x17)), Succ(Succ(x16)), x17, x16)))) ==> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(Succ(x16)))))), Pos(Succ(Succ(Succ(Succ(Succ(x17)))))))_>=_new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(x16)))))), Pos(new_primModNatS01(Succ(Succ(Succ(x17))), Succ(Succ(Succ(x16))), Succ(x17), Succ(x16))))) (5) (new_primModNatS02(x23, x22)=Succ(Succ(Succ(Succ(x5)))) & Succ(Succ(Succ(x21)))=x23 & Succ(Succ(Zero))=x22 ==> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Succ(x21)))))))_>=_new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(new_primModNatS01(Succ(Succ(Succ(x21))), Succ(Succ(Zero)), Succ(x21), Zero)))) (6) (Succ(Succ(x26))=Succ(Succ(Succ(Succ(x5)))) & Succ(Succ(Zero))=x26 & Succ(Succ(Succ(x24)))=x25 ==> new_gcd0Gcd'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_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Succ(x24))), Zero, Succ(x24))))) We simplified constraint (3) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x15, x14)=Succ(Succ(Succ(Succ(x5)))) which results in the following new constraint: (7) (new_primModNatS1(new_primMinusNatS2(Succ(x28), Succ(x27)), Succ(x27))=Succ(Succ(Succ(Succ(x5)))) & Succ(Succ(Zero))=x28 & Succ(Succ(Zero))=x27 ==> 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_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero)))) We simplified constraint (4) using rule (IV) which results in the following new constraint: (8) (new_primModNatS01(x19, x18, x17, x16)=Succ(Succ(Succ(Succ(x5)))) & Succ(Succ(Succ(x17)))=x19 & Succ(Succ(Succ(x16)))=x18 ==> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(Succ(x16)))))), Pos(Succ(Succ(Succ(Succ(Succ(x17)))))))_>=_new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(x16)))))), Pos(new_primModNatS01(Succ(Succ(Succ(x17))), Succ(Succ(Succ(x16))), Succ(x17), Succ(x16))))) We simplified constraint (5) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x23, x22)=Succ(Succ(Succ(Succ(x5)))) which results in the following new constraint: (9) (new_primModNatS1(new_primMinusNatS2(Succ(x47), Succ(x46)), Succ(x46))=Succ(Succ(Succ(Succ(x5)))) & Succ(Succ(Succ(x21)))=x47 & Succ(Succ(Zero))=x46 ==> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Succ(x21)))))))_>=_new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(new_primModNatS01(Succ(Succ(Succ(x21))), Succ(Succ(Zero)), Succ(x21), Zero)))) We simplified constraint (6) using rules (I), (II), (III), (IV) which results in the following new constraint: (10) (new_gcd0Gcd'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_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Succ(x24))), Zero, Succ(x24))))) We simplified constraint (7) using rules (III), (IV), (VII) which results in the following new constraint: (11) (new_gcd0Gcd'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_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero)))) We simplified constraint (8) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x19, x18, x17, x16)=Succ(Succ(Succ(Succ(x5)))) which results in the following new constraints: (12) (new_primModNatS02(x34, x33)=Succ(Succ(Succ(Succ(x5)))) & Succ(Succ(Succ(Zero)))=x34 & Succ(Succ(Succ(Zero)))=x33 ==> new_gcd0Gcd'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_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero))))) (13) (new_primModNatS01(x38, x37, x36, x35)=Succ(Succ(Succ(Succ(x5)))) & Succ(Succ(Succ(Succ(x36))))=x38 & Succ(Succ(Succ(Succ(x35))))=x37 & (\/x39:new_primModNatS01(x38, x37, x36, x35)=Succ(Succ(Succ(Succ(x39)))) & Succ(Succ(Succ(x36)))=x38 & Succ(Succ(Succ(x35)))=x37 ==> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(Succ(x35)))))), Pos(Succ(Succ(Succ(Succ(Succ(x36)))))))_>=_new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(x35)))))), Pos(new_primModNatS01(Succ(Succ(Succ(x36))), Succ(Succ(Succ(x35))), Succ(x36), Succ(x35))))) ==> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(Succ(Succ(x35))))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x36))))))))_>=_new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(Succ(x35))))))), Pos(new_primModNatS01(Succ(Succ(Succ(Succ(x36)))), Succ(Succ(Succ(Succ(x35)))), Succ(Succ(x36)), Succ(Succ(x35)))))) (14) (new_primModNatS02(x42, x41)=Succ(Succ(Succ(Succ(x5)))) & Succ(Succ(Succ(Succ(x40))))=x42 & Succ(Succ(Succ(Zero)))=x41 ==> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x40))))))))_>=_new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(new_primModNatS01(Succ(Succ(Succ(Succ(x40)))), Succ(Succ(Succ(Zero))), Succ(Succ(x40)), Succ(Zero))))) (15) (Succ(Succ(x45))=Succ(Succ(Succ(Succ(x5)))) & Succ(Succ(Succ(Zero)))=x45 & Succ(Succ(Succ(Succ(x43))))=x44 ==> new_gcd0Gcd'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_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Succ(x43)))), Succ(Zero), Succ(Succ(x43)))))) We simplified constraint (12) using rules (III), (IV) which results in the following new constraint: (16) (new_gcd0Gcd'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_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero))))) We simplified constraint (13) using rules (III), (IV) which results in the following new constraint: (17) (new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(Succ(Succ(x35))))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x36))))))))_>=_new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(Succ(x35))))))), Pos(new_primModNatS01(Succ(Succ(Succ(Succ(x36)))), Succ(Succ(Succ(Succ(x35)))), Succ(Succ(x36)), Succ(Succ(x35)))))) We simplified constraint (14) using rules (III), (IV) which results in the following new constraint: (18) (new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x40))))))))_>=_new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(new_primModNatS01(Succ(Succ(Succ(Succ(x40)))), Succ(Succ(Succ(Zero))), Succ(Succ(x40)), Succ(Zero))))) We simplified constraint (15) using rules (I), (II), (III), (IV) which results in the following new constraint: (19) (new_gcd0Gcd'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_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Succ(x43)))), Succ(Zero), Succ(Succ(x43)))))) We simplified constraint (9) using rules (III), (IV), (VII) which results in the following new constraint: (20) (new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Succ(x21)))))))_>=_new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(new_primModNatS01(Succ(Succ(Succ(x21))), Succ(Succ(Zero)), Succ(x21), 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_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) the following chains were created: *We consider the chain new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x6))))), Pos(Succ(Succ(Succ(Succ(x7)))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS01(Succ(Succ(x6)), Succ(Succ(x7)), x6, x7))), Pos(Succ(Succ(Succ(Succ(x7))))), Pos(Succ(Succ(Succ(Succ(x6)))))), new_gcd0Gcd'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_primModNatS01(Succ(Succ(x9)), Succ(Succ(x8)), x9, x8))) which results in the following constraint: (1) (new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS01(Succ(Succ(x6)), Succ(Succ(x7)), x6, x7))), Pos(Succ(Succ(Succ(Succ(x7))))), Pos(Succ(Succ(Succ(Succ(x6))))))=new_gcd0Gcd'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_primModNatS01(Succ(Succ(x6)), Succ(Succ(x7)), x6, x7))), Pos(Succ(Succ(Succ(Succ(x7))))), Pos(Succ(Succ(Succ(Succ(x6))))))) We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: (2) (Pos(new_primModNatS01(Succ(Succ(x6)), Succ(Succ(x7)), x6, x7))=x52 & new_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_primModNatS01(Succ(Succ(x6)), Succ(Succ(x7)), x6, x7))), Pos(Succ(Succ(Succ(Succ(x7))))), Pos(Succ(Succ(Succ(Succ(x6))))))) We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_esEs0(x52)=False which results in the following new constraint: (3) (False=False & Pos(new_primModNatS01(Succ(Succ(x6)), Succ(Succ(x7)), x6, x7))=Pos(Succ(x53)) ==> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x6))))), Pos(Succ(Succ(Succ(Succ(x7))))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS01(Succ(Succ(x6)), Succ(Succ(x7)), x6, x7))), Pos(Succ(Succ(Succ(Succ(x7))))), Pos(Succ(Succ(Succ(Succ(x6))))))) We simplified constraint (3) using rules (I), (II), (VII) which results in the following new constraint: (4) (Succ(Succ(x6))=x54 & Succ(Succ(x7))=x55 & new_primModNatS01(x54, x55, x6, x7)=Succ(x53) ==> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x6))))), Pos(Succ(Succ(Succ(Succ(x7))))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS01(Succ(Succ(x6)), Succ(Succ(x7)), x6, x7))), Pos(Succ(Succ(Succ(Succ(x7))))), Pos(Succ(Succ(Succ(Succ(x6))))))) We simplified constraint (4) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x54, x55, x6, x7)=Succ(x53) which results in the following new constraints: (5) (new_primModNatS02(x57, x56)=Succ(x53) & Succ(Succ(Zero))=x57 & Succ(Succ(Zero))=x56 ==> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero))), Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))))) (6) (new_primModNatS01(x61, x60, x59, x58)=Succ(x53) & Succ(Succ(Succ(x59)))=x61 & Succ(Succ(Succ(x58)))=x60 & (\/x62:new_primModNatS01(x61, x60, x59, x58)=Succ(x62) & Succ(Succ(x59))=x61 & Succ(Succ(x58))=x60 ==> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x59))))), Pos(Succ(Succ(Succ(Succ(x58))))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS01(Succ(Succ(x59)), Succ(Succ(x58)), x59, x58))), Pos(Succ(Succ(Succ(Succ(x58))))), Pos(Succ(Succ(Succ(Succ(x59))))))) ==> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(x59)))))), Pos(Succ(Succ(Succ(Succ(Succ(x58)))))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS01(Succ(Succ(Succ(x59))), Succ(Succ(Succ(x58))), Succ(x59), Succ(x58)))), Pos(Succ(Succ(Succ(Succ(Succ(x58)))))), Pos(Succ(Succ(Succ(Succ(Succ(x59)))))))) (7) (new_primModNatS02(x65, x64)=Succ(x53) & Succ(Succ(Succ(x63)))=x65 & Succ(Succ(Zero))=x64 ==> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(x63)))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS01(Succ(Succ(Succ(x63))), Succ(Succ(Zero)), Succ(x63), Zero))), Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Succ(x63)))))))) (8) (Succ(Succ(x68))=Succ(x53) & Succ(Succ(Zero))=x68 & Succ(Succ(Succ(x66)))=x67 ==> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Succ(x66)))))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Succ(x66))), Zero, Succ(x66)))), Pos(Succ(Succ(Succ(Succ(Succ(x66)))))), Pos(Succ(Succ(Succ(Succ(Zero))))))) We simplified constraint (5) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x57, x56)=Succ(x53) which results in the following new constraint: (9) (new_primModNatS1(new_primMinusNatS2(Succ(x70), Succ(x69)), Succ(x69))=Succ(x53) & Succ(Succ(Zero))=x70 & Succ(Succ(Zero))=x69 ==> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero))), Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))))) We simplified constraint (6) using rule (IV) which results in the following new constraint: (10) (new_primModNatS01(x61, x60, x59, x58)=Succ(x53) & Succ(Succ(Succ(x59)))=x61 & Succ(Succ(Succ(x58)))=x60 ==> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(x59)))))), Pos(Succ(Succ(Succ(Succ(Succ(x58)))))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS01(Succ(Succ(Succ(x59))), Succ(Succ(Succ(x58))), Succ(x59), Succ(x58)))), Pos(Succ(Succ(Succ(Succ(Succ(x58)))))), Pos(Succ(Succ(Succ(Succ(Succ(x59)))))))) We simplified constraint (7) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x65, x64)=Succ(x53) which results in the following new constraint: (11) (new_primModNatS1(new_primMinusNatS2(Succ(x89), Succ(x88)), Succ(x88))=Succ(x53) & Succ(Succ(Succ(x63)))=x89 & Succ(Succ(Zero))=x88 ==> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(x63)))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS01(Succ(Succ(Succ(x63))), Succ(Succ(Zero)), Succ(x63), Zero))), Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Succ(x63)))))))) We simplified constraint (8) using rules (I), (II), (IV) which results in the following new constraint: (12) (new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Succ(x66)))))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Succ(x66))), Zero, Succ(x66)))), Pos(Succ(Succ(Succ(Succ(Succ(x66)))))), Pos(Succ(Succ(Succ(Succ(Zero))))))) We simplified constraint (9) using rules (III), (IV), (VII) which results in the following new constraint: (13) (new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero))), Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))))) We simplified constraint (10) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x61, x60, x59, x58)=Succ(x53) which results in the following new constraints: (14) (new_primModNatS02(x76, x75)=Succ(x53) & Succ(Succ(Succ(Zero)))=x76 & Succ(Succ(Succ(Zero)))=x75 ==> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))) (15) (new_primModNatS01(x80, x79, x78, x77)=Succ(x53) & Succ(Succ(Succ(Succ(x78))))=x80 & Succ(Succ(Succ(Succ(x77))))=x79 & (\/x81:new_primModNatS01(x80, x79, x78, x77)=Succ(x81) & Succ(Succ(Succ(x78)))=x80 & Succ(Succ(Succ(x77)))=x79 ==> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(x78)))))), Pos(Succ(Succ(Succ(Succ(Succ(x77)))))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS01(Succ(Succ(Succ(x78))), Succ(Succ(Succ(x77))), Succ(x78), Succ(x77)))), Pos(Succ(Succ(Succ(Succ(Succ(x77)))))), Pos(Succ(Succ(Succ(Succ(Succ(x78)))))))) ==> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(Succ(x78))))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x77))))))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS01(Succ(Succ(Succ(Succ(x78)))), Succ(Succ(Succ(Succ(x77)))), Succ(Succ(x78)), Succ(Succ(x77))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x77))))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x78))))))))) (16) (new_primModNatS02(x84, x83)=Succ(x53) & Succ(Succ(Succ(Succ(x82))))=x84 & Succ(Succ(Succ(Zero)))=x83 ==> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(Succ(x82))))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS01(Succ(Succ(Succ(Succ(x82)))), Succ(Succ(Succ(Zero))), Succ(Succ(x82)), Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x82))))))))) (17) (Succ(Succ(x87))=Succ(x53) & Succ(Succ(Succ(Zero)))=x87 & Succ(Succ(Succ(Succ(x85))))=x86 ==> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x85))))))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Succ(x85)))), Succ(Zero), Succ(Succ(x85))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x85))))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))) We simplified constraint (14) using rules (III), (IV) which results in the following new constraint: (18) (new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))) We simplified constraint (15) using rules (III), (IV) which results in the following new constraint: (19) (new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(Succ(x78))))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x77))))))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS01(Succ(Succ(Succ(Succ(x78)))), Succ(Succ(Succ(Succ(x77)))), Succ(Succ(x78)), Succ(Succ(x77))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x77))))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x78))))))))) We simplified constraint (16) using rules (III), (IV) which results in the following new constraint: (20) (new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(Succ(x82))))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS01(Succ(Succ(Succ(Succ(x82)))), Succ(Succ(Succ(Zero))), Succ(Succ(x82)), Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x82))))))))) We simplified constraint (17) using rules (I), (II), (IV) which results in the following new constraint: (21) (new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x85))))))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Succ(x85)))), Succ(Zero), Succ(Succ(x85))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x85))))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))) We simplified constraint (11) using rules (III), (IV), (VII) which results in the following new constraint: (22) (new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(x63)))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS01(Succ(Succ(Succ(x63))), Succ(Succ(Zero)), Succ(x63), Zero))), Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Succ(x63)))))))) To summarize, we get the following constraints P__>=_ for the following pairs. *new_gcd0Gcd'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_primModNatS01(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_primModNatS01(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_primModNatS01(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(Zero))))))_>=_new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero)))) *(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_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero))))) *(new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(Succ(Succ(x35))))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x36))))))))_>=_new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(Succ(x35))))))), Pos(new_primModNatS01(Succ(Succ(Succ(Succ(x36)))), Succ(Succ(Succ(Succ(x35)))), Succ(Succ(x36)), Succ(Succ(x35)))))) *(new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x40))))))))_>=_new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(new_primModNatS01(Succ(Succ(Succ(Succ(x40)))), Succ(Succ(Succ(Zero))), Succ(Succ(x40)), Succ(Zero))))) *(new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Succ(x21)))))))_>=_new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(new_primModNatS01(Succ(Succ(Succ(x21))), Succ(Succ(Zero)), Succ(x21), Zero)))) *new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) *(new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x85))))))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Succ(x85)))), Succ(Zero), Succ(Succ(x85))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x85))))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))) *(new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Succ(x66)))))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Succ(x66))), Zero, Succ(x66)))), Pos(Succ(Succ(Succ(Succ(Succ(x66)))))), Pos(Succ(Succ(Succ(Succ(Zero))))))) *(new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero))), Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))))) *(new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))) *(new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(Succ(x78))))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x77))))))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS01(Succ(Succ(Succ(Succ(x78)))), Succ(Succ(Succ(Succ(x77)))), Succ(Succ(x78)), Succ(Succ(x77))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x77))))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x78))))))))) *(new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(Succ(x82))))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS01(Succ(Succ(Succ(Succ(x82)))), Succ(Succ(Succ(Zero))), Succ(Succ(x82)), Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x82))))))))) *(new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(x63)))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS01(Succ(Succ(Succ(x63))), Succ(Succ(Zero)), Succ(x63), Zero))), Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Succ(x63)))))))) The constraints for P_> respective P_bound are constructed from P__>=_ where we just replace every occurence of "t _>=_ s" in P__>=_ by "t > s" respective "t _>=_ c". Here c stands for the fresh constant used for P_bound. ---------------------------------------- (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_primModNatS01(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_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS01(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_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) 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_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, 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, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primModNatS01(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_primMinusNatS1 new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(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_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, 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_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) new_esEs0(Pos(Succ(vuz2500))) -> False new_esEs0(Pos(Zero)) -> True new_primModNatS01(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_primMinusNatS1 new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(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_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, 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_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) new_esEs0(Pos(Succ(vuz2500))) -> False new_esEs0(Pos(Zero)) -> True new_primModNatS01(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_primMinusNatS1 new_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) 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_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, 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_primModNatS01(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_primModNatS01(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_primModNatS01(x0, x1, x0, x1))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primModNatS1(Zero, vuz7400) -> Zero new_primModNatS1(Succ(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_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) new_esEs0(Pos(Succ(vuz2500))) -> False new_esEs0(Pos(Zero)) -> True new_primModNatS01(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_primMinusNatS1 new_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) 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_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, 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_primModNatS01(x0, x1, x0, x1))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primModNatS1(Zero, vuz7400) -> Zero new_primModNatS1(Succ(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_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) new_esEs0(Pos(Succ(vuz2500))) -> False new_esEs0(Pos(Zero)) -> True new_primModNatS01(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_primMinusNatS1 new_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) 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_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, 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_primModNatS01(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_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) new_esEs0(Pos(Succ(vuz2500))) -> False new_esEs0(Pos(Zero)) -> True new_primModNatS01(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_primMinusNatS1 new_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) 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_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, 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_primModNatS01(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_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) new_esEs0(Pos(Succ(vuz2500))) -> False new_esEs0(Pos(Zero)) -> True new_primModNatS01(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_primMinusNatS1 new_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) 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_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, 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_primModNatS01(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_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) new_esEs0(Pos(Succ(vuz2500))) -> False new_esEs0(Pos(Zero)) -> True new_primModNatS01(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_primMinusNatS1 new_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) 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_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, 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_primModNatS01(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_primModNatS01(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_primModNatS01(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_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primModNatS1(Zero, vuz7400) -> Zero new_primModNatS1(Succ(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_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) new_esEs0(Pos(Succ(vuz2500))) -> False new_esEs0(Pos(Zero)) -> True new_primModNatS01(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_primMinusNatS1 new_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) 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_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, 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_primModNatS01(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_primModNatS01(x0, x1, x0, x1))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primModNatS1(Zero, vuz7400) -> Zero new_primModNatS1(Succ(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_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) new_esEs0(Pos(Succ(vuz2500))) -> False new_esEs0(Pos(Zero)) -> True new_primModNatS01(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_primMinusNatS1 new_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) 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_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, 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_primModNatS01(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_primModNatS01(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_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) new_esEs0(Pos(Succ(vuz2500))) -> False new_esEs0(Pos(Zero)) -> True new_primModNatS01(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_primMinusNatS1 new_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) 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_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, 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_primModNatS01(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_primModNatS01(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_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) new_esEs0(Pos(Succ(vuz2500))) -> False new_esEs0(Pos(Zero)) -> True new_primModNatS01(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_primMinusNatS1 new_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) 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_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, 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_primModNatS01(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_primModNatS01(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_primModNatS01(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_primModNatS01(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_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primModNatS1(Zero, vuz7400) -> Zero new_primModNatS1(Succ(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_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) new_esEs0(Pos(Succ(vuz2500))) -> False new_esEs0(Pos(Zero)) -> True new_primModNatS01(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_primMinusNatS1 new_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) 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_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, 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_primModNatS01(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_primModNatS01(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_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primModNatS1(Zero, vuz7400) -> Zero new_primModNatS1(Succ(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_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) new_esEs0(Pos(Succ(vuz2500))) -> False new_esEs0(Pos(Zero)) -> True new_primModNatS01(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_primMinusNatS1 new_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) 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_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, 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_primModNatS01(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_primModNatS01(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_primModNatS01(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_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) new_esEs0(Pos(Succ(vuz2500))) -> False new_esEs0(Pos(Zero)) -> True new_primModNatS01(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_primMinusNatS1 new_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) 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_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, 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_primModNatS01(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_primModNatS01(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_primModNatS01(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_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) new_esEs0(Pos(Succ(vuz2500))) -> False new_esEs0(Pos(Zero)) -> True new_primModNatS01(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_primMinusNatS1 new_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) 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_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, 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_primModNatS01(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_primModNatS01(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_primModNatS01(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_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) new_esEs0(Pos(Succ(vuz2500))) -> False new_esEs0(Pos(Zero)) -> True new_primModNatS01(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_primMinusNatS1 new_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) 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_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, 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_primModNatS01(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_primModNatS01(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_primModNatS01(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_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) new_esEs0(Pos(Succ(vuz2500))) -> False new_esEs0(Pos(Zero)) -> True new_primModNatS01(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_primMinusNatS1 new_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) 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_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, 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_primModNatS01(x0, x1, x0, x1))) new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS01(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_primModNatS01(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_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) new_esEs0(Pos(Succ(vuz2500))) -> False new_esEs0(Pos(Zero)) -> True new_primModNatS01(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_primMinusNatS1 new_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) 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_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, 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_primModNatS01(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(Zero)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(Zero, Zero))),new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(Zero, 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_primModNatS01(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_primModNatS01(Succ(x2), Succ(x3), x2, x3)))) (new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(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_primModNatS02(Succ(x2), 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_primModNatS01(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_primModNatS01(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(Zero)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(Zero, 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_primModNatS01(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(Succ(x2), 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_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) new_esEs0(Pos(Succ(vuz2500))) -> False new_esEs0(Pos(Zero)) -> True new_primModNatS01(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_primMinusNatS1 new_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) 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_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, 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(Zero)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(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))))) ---------------------------------------- (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_primModNatS01(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_primModNatS01(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_primModNatS01(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(Succ(x2), 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(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_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) new_esEs0(Pos(Succ(vuz2500))) -> False new_esEs0(Pos(Zero)) -> True new_primModNatS01(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_primMinusNatS1 new_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) 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_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, 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(Succ(x2))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(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))))) ---------------------------------------- (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_primModNatS01(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_primModNatS01(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_primModNatS01(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(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_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) new_esEs0(Pos(Succ(vuz2500))) -> False new_esEs0(Pos(Zero)) -> True new_primModNatS01(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_primMinusNatS1 new_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) 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_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, 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(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))))) ---------------------------------------- (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_primModNatS01(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_primModNatS01(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_primModNatS01(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(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_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) new_esEs0(Pos(Succ(vuz2500))) -> False new_esEs0(Pos(Zero)) -> True new_primModNatS01(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_primMinusNatS1 new_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) 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_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, 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(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))))) ---------------------------------------- (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_primModNatS01(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_primModNatS01(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_primModNatS01(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(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_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) new_esEs0(Pos(Succ(vuz2500))) -> False new_esEs0(Pos(Zero)) -> True new_primModNatS01(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_primMinusNatS1 new_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) 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_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, 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(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))))) ---------------------------------------- (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_primModNatS01(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_primModNatS01(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_primModNatS01(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(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_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) new_esEs0(Pos(Succ(vuz2500))) -> False new_esEs0(Pos(Zero)) -> True new_primModNatS01(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_primMinusNatS1 new_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) 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_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_esEs0(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (418) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (419) 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_primModNatS01(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_primModNatS01(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS01(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(new_primMinusNatS2(Succ(x2), Zero), 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_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) new_esEs0(Pos(Succ(vuz2500))) -> False new_esEs0(Pos(Zero)) -> True new_primModNatS01(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_primMinusNatS1 new_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) 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_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_esEs0(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (420) 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))))) ---------------------------------------- (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_primModNatS01(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_primModNatS01(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS01(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'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, 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_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) new_esEs0(Pos(Succ(vuz2500))) -> False new_esEs0(Pos(Zero)) -> True new_primModNatS01(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_primMinusNatS1 new_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) 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_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, 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_primModNatS01(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_primModNatS01(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_primModNatS01(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_primModNatS01(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS01(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'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, 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(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_primModNatS01(x0, x1, x0, x1))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primModNatS1(Zero, vuz7400) -> Zero new_primModNatS1(Succ(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_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) new_esEs0(Pos(Succ(vuz2500))) -> False new_esEs0(Pos(Zero)) -> True new_primModNatS01(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_primMinusNatS1 new_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) 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_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, 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_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) new_esEs0(Pos(Succ(vuz2500))) -> False new_esEs0(Pos(Zero)) -> True new_primModNatS01(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_primMinusNatS1 new_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) 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_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, 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_primMinusNatS1 new_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) 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_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, 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_primMinusNatS2(Succ(x0), Zero) new_primMinusNatS2(Zero, Zero) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, 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_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) new_esEs0(Pos(Succ(vuz2500))) -> False new_esEs0(Pos(Zero)) -> True new_primModNatS01(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_primMinusNatS1 new_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) 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_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, 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_primMinusNatS1 new_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) 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_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, 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_primMinusNatS2(Succ(x0), Zero) new_primMinusNatS2(Zero, Zero) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, 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_primModNatS01(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS01(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_primModNatS01(x0, x1, x0, x1))) new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS01(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_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) new_esEs0(Pos(Succ(vuz2500))) -> False new_esEs0(Pos(Zero)) -> True new_primModNatS01(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_primMinusNatS1 new_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) 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_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, 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_primModNatS01(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS01(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_primModNatS01(x0, x1, x0, x1))) new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS01(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_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS01(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_primMinusNatS1 new_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) 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_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, 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_primModNatS01(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS01(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_primModNatS01(x0, x1, x0, x1))) new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS01(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_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS01(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_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) 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_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, 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_primModNatS01(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(Zero))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(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_primModNatS02(Succ(Zero), 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_primModNatS01(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_primModNatS01(Succ(Succ(x2)), Succ(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_primModNatS02(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_primModNatS02(Succ(Succ(x2)), 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_primModNatS01(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_primModNatS01(x0, x1, x0, x1))) new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS01(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(Zero))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Zero), 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_primModNatS01(Succ(Succ(x2)), Succ(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_primModNatS02(Succ(Succ(x2)), 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_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS01(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_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) 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_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, 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(Zero))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Zero), Succ(Zero)))) at position [1,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'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)))))) ---------------------------------------- (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_primModNatS01(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_primModNatS01(x0, x1, x0, x1))) new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS01(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_primModNatS01(Succ(Succ(x2)), Succ(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_primModNatS02(Succ(Succ(x2)), 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(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_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS01(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_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) 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_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, 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(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Zero)))) at position [1,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'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)))))) ---------------------------------------- (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_primModNatS01(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_primModNatS01(x0, x1, x0, x1))) new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS01(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_primModNatS01(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(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS01(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_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) 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_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, 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(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)))))) ---------------------------------------- (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_primModNatS01(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_primModNatS01(x0, x1, x0, x1))) new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS01(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_primModNatS01(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(Zero), Succ(Zero)), Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS01(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_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) 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_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, 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(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)))))) ---------------------------------------- (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_primModNatS01(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_primModNatS01(x0, x1, x0, x1))) new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS01(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_primModNatS01(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(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS01(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_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) 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_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, 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(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)))))) ---------------------------------------- (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_primModNatS01(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_primModNatS01(x0, x1, x0, x1))) new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS01(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_primModNatS01(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(Zero, Zero), Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS01(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_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) 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_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, 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(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)))))) ---------------------------------------- (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_primModNatS01(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_primModNatS01(x0, x1, x0, x1))) new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS01(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_primModNatS01(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(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_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS01(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_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) 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_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, 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(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)))))) ---------------------------------------- (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_primModNatS01(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_primModNatS01(x0, x1, x0, x1))) new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS01(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_primModNatS01(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(Zero, Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS01(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_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) 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_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_esEs0(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (523) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (524) 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_primModNatS01(x0, x1, x0, x1))) new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS01(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_primModNatS01(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_primModNatS01(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))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS01(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_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) 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_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_esEs0(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (525) 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)))))) ---------------------------------------- (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_primModNatS01(x0, x1, x0, x1))) new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS01(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_primModNatS01(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_primModNatS01(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_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS01(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_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) 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_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, 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_primModNatS01(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(Zero)))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(Zero, Zero))),new_gcd0Gcd'10(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(Zero, 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_primModNatS01(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_primModNatS01(Succ(x2), Succ(x3), x2, x3)))) (new_gcd0Gcd'10(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(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_primModNatS02(Succ(x2), 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_primModNatS01(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_primModNatS01(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_primModNatS01(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(Zero)))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(Zero, 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_primModNatS01(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'10(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(Succ(x2), 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_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS01(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_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) 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_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, 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(Zero)))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(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))))) ---------------------------------------- (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_primModNatS01(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_primModNatS01(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_primModNatS01(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_primModNatS01(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'10(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(Succ(x2), 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(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_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS01(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_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) 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_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, 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(Succ(x2))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(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))))) ---------------------------------------- (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_primModNatS01(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_primModNatS01(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_primModNatS01(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_primModNatS01(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(Succ(x2)), Succ(Zero)), Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS01(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_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) 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_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, 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(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))))) ---------------------------------------- (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_primModNatS01(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_primModNatS01(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_primModNatS01(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_primModNatS01(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(Zero, Zero), Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS01(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_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) 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_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, 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(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))))) ---------------------------------------- (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_primModNatS01(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_primModNatS01(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_primModNatS01(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_primModNatS01(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(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_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS01(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_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) 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_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, 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(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))))) ---------------------------------------- (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_primModNatS01(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_primModNatS01(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_primModNatS01(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_primModNatS01(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(Zero, Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS01(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_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) 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_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_esEs0(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (539) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (540) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'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_primModNatS01(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_primModNatS01(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS01(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_primModNatS01(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(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_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS01(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_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) 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_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_esEs0(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (541) 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))))) ---------------------------------------- (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_primModNatS01(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_primModNatS01(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS01(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_primModNatS01(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_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS01(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_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) 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_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, 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_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) at position [0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(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_primModNatS02(Zero, Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))))) (new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS01(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_primModNatS01(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(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(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_primModNatS02(Succ(x2), 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(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_primModNatS01(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS01(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_primModNatS01(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(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(Zero, Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS01(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(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(Succ(x2), 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(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_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS01(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_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) 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_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, 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_primModNatS02(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_primModNatS01(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_primModNatS01(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_primModNatS01(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_primModNatS01(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_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS01(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_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) 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_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, 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_primModNatS02(Succ(x2), Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) at position [0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'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_primModNatS01(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_primModNatS01(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_primModNatS01(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_primModNatS01(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_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS01(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_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) 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_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, 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_primModNatS01(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_primModNatS01(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_primModNatS01(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_primModNatS01(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_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS01(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_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) 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_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, 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_primModNatS01(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_primModNatS01(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_primModNatS01(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_primModNatS01(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_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS01(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_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) 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_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, 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_primModNatS01(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_primModNatS01(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_primModNatS01(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_primModNatS01(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_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS01(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_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) 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_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, 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_primModNatS01(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_primModNatS01(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_primModNatS01(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_primModNatS01(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_primModNatS01(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_primModNatS01(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_primModNatS01(x0, Zero, x0, Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS01(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_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) 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_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, 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_primModNatS01(x0, Zero, x0, Zero))) new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS01(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_primModNatS01(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_primModNatS01(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_primModNatS01(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_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS01(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_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) 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_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, 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_primModNatS01(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_primModNatS01(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_primModNatS01(x0, Zero, x0, Zero))) new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS01(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_primModNatS01(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_primModNatS01(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_primModNatS01(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_primModNatS01(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS01(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_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) 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_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, 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_primModNatS01(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_primModNatS01(x0, Zero, x0, Zero))) new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS01(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_primModNatS01(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_primModNatS01(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_primModNatS01(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_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS01(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_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) 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_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, 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_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) at position [0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(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_primModNatS02(Zero, Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))))) (new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS01(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_primModNatS01(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(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(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_primModNatS02(Succ(x2), Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))))) (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_primModNatS01(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_primModNatS01(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_primModNatS01(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_primModNatS01(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_primModNatS01(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(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(Zero, Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS01(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(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(Succ(x2), Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) 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_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS01(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_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) 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_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, 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_primModNatS02(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_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS01(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_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) 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_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, 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_primModNatS02(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_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS01(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_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) 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_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, 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_primModNatS02(Succ(x2), Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) at position [0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'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_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS01(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_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) 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_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, 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_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS01(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_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) 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_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, 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_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS01(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_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) 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_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, 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_primModNatS01(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_primModNatS01(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_primModNatS01(x0, Zero, x0, Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS01(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_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) 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_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, 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_primModNatS01(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_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS01(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_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) 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_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, 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_primModNatS01(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_primModNatS01(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_primModNatS01(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_primModNatS01(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS01(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_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) 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_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, 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_primModNatS01(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_primModNatS01(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_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS01(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_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) 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_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, 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_primModNatS01(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) the following chains were created: *We consider the chain new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x1))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS01(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_primModNatS01(x2, Zero, x2, Zero))) which results in the following constraint: (1) (new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS01(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_primModNatS01(x1, Zero, x1, Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x1))))))) We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: (2) (Pos(new_primModNatS01(x1, Zero, x1, Zero))=x20 & new_esEs0(x20)=False ==> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x1))))), Neg(Succ(Succ(Zero))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS01(x1, Zero, x1, Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x1))))))) We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_esEs0(x20)=False which results in the following new constraint: (3) (False=False & Pos(new_primModNatS01(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_primModNatS01(x1, Zero, x1, Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x1))))))) We simplified constraint (3) using rules (I), (II), (VII) which results in the following new constraint: (4) (Zero=x22 & x1=x23 & Zero=x24 & new_primModNatS01(x1, x22, x23, x24)=Succ(x21) ==> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x1))))), Neg(Succ(Succ(Zero))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS01(x1, Zero, x1, Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x1))))))) We simplified constraint (4) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x1, x22, x23, x24)=Succ(x21) which results in the following new constraints: (5) (new_primModNatS02(x26, x25)=Succ(x21) & Zero=x25 & x26=Zero & Zero=Zero ==> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x26))))), Neg(Succ(Succ(Zero))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS01(x26, Zero, x26, Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x26))))))) (6) (new_primModNatS01(x30, x29, x28, x27)=Succ(x21) & Zero=x29 & x30=Succ(x28) & Zero=Succ(x27) & (\/x31:new_primModNatS01(x30, x29, x28, x27)=Succ(x31) & Zero=x29 & x30=x28 & Zero=x27 ==> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x30))))), Neg(Succ(Succ(Zero))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS01(x30, Zero, x30, Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x30))))))) ==> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x30))))), Neg(Succ(Succ(Zero))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS01(x30, Zero, x30, Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x30))))))) (7) (new_primModNatS02(x34, x33)=Succ(x21) & Zero=x33 & x34=Succ(x32) & Zero=Zero ==> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x34))))), Neg(Succ(Succ(Zero))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS01(x34, Zero, x34, Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x34))))))) (8) (Succ(Succ(x37))=Succ(x21) & Zero=x36 & x37=Zero & Zero=Succ(x35) ==> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x37))))), Neg(Succ(Succ(Zero))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS01(x37, Zero, x37, Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x37))))))) We simplified constraint (5) using rules (I), (II), (III), (VII) which results in the following new constraint: (9) (Zero=x38 & new_primModNatS02(x38, x25)=Succ(x21) & Zero=x25 ==> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Zero))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS01(Zero, Zero, Zero, Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Zero))))))) We solved constraint (6) using rules (I), (II).We simplified constraint (7) using rules (I), (II), (III), (VII) which results in the following new constraint: (10) (Succ(x32)=x45 & new_primModNatS02(x45, x33)=Succ(x21) & Zero=x33 ==> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(x32)))))), Neg(Succ(Succ(Zero))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS01(Succ(x32), Zero, Succ(x32), Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Succ(x32)))))))) We solved constraint (8) using rules (I), (II).We simplified constraint (9) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x38, x25)=Succ(x21) which results in the following new constraint: (11) (new_primModNatS1(new_primMinusNatS2(Succ(x40), Succ(x39)), Succ(x39))=Succ(x21) & Zero=x40 & Zero=x39 ==> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Zero))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS01(Zero, Zero, Zero, Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Zero))))))) We simplified constraint (11) using rules (III), (IV), (VII) which results in the following new constraint: (12) (new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Zero))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS01(Zero, Zero, Zero, Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Zero))))))) We simplified constraint (10) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x45, x33)=Succ(x21) which results in the following new constraint: (13) (new_primModNatS1(new_primMinusNatS2(Succ(x47), Succ(x46)), Succ(x46))=Succ(x21) & Succ(x32)=x47 & Zero=x46 ==> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(x32)))))), Neg(Succ(Succ(Zero))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS01(Succ(x32), Zero, Succ(x32), Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Succ(x32)))))))) We simplified constraint (13) using rules (III), (IV), (VII) which results in the following new constraint: (14) (new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(x32)))))), Neg(Succ(Succ(Zero))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS01(Succ(x32), Zero, Succ(x32), Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Succ(x32)))))))) 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_primModNatS01(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_primModNatS01(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_primModNatS01(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_primModNatS01(x7, Zero, x7, Zero)))) We simplified constraint (1) using rules (I), (II), (VII) which results in the following new constraint: (2) (Zero=x52 & x7=x53 & Zero=x54 & new_primModNatS01(x7, x52, x53, x54)=Succ(Succ(Succ(x8))) ==> new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x7))))))_>=_new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(x7, Zero, x7, Zero)))) We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x7, x52, x53, x54)=Succ(Succ(Succ(x8))) which results in the following new constraints: (3) (new_primModNatS02(x56, x55)=Succ(Succ(Succ(x8))) & Zero=x55 & x56=Zero & Zero=Zero ==> new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x56))))))_>=_new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(x56, Zero, x56, Zero)))) (4) (new_primModNatS01(x60, x59, x58, x57)=Succ(Succ(Succ(x8))) & Zero=x59 & x60=Succ(x58) & Zero=Succ(x57) & (\/x61:new_primModNatS01(x60, x59, x58, x57)=Succ(Succ(Succ(x61))) & Zero=x59 & x60=x58 & Zero=x57 ==> new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x60))))))_>=_new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(x60, Zero, x60, Zero)))) ==> new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x60))))))_>=_new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(x60, Zero, x60, Zero)))) (5) (new_primModNatS02(x64, x63)=Succ(Succ(Succ(x8))) & Zero=x63 & x64=Succ(x62) & Zero=Zero ==> new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x64))))))_>=_new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(x64, Zero, x64, Zero)))) (6) (Succ(Succ(x67))=Succ(Succ(Succ(x8))) & Zero=x66 & x67=Zero & Zero=Succ(x65) ==> new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x67))))))_>=_new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(x67, Zero, x67, Zero)))) We simplified constraint (3) using rules (I), (II), (III), (VII) which results in the following new constraint: (7) (Zero=x68 & new_primModNatS02(x68, x55)=Succ(Succ(Succ(x8))) & Zero=x55 ==> new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(Zero, Zero, Zero, Zero)))) We solved constraint (4) using rules (I), (II).We simplified constraint (5) using rules (I), (II), (III), (VII) which results in the following new constraint: (8) (Succ(x62)=x75 & new_primModNatS02(x75, x63)=Succ(Succ(Succ(x8))) & Zero=x63 ==> new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Succ(x62)))))))_>=_new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(Succ(x62), Zero, Succ(x62), Zero)))) We solved constraint (6) using rules (I), (II).We simplified constraint (7) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x68, x55)=Succ(Succ(Succ(x8))) which results in the following new constraint: (9) (new_primModNatS1(new_primMinusNatS2(Succ(x70), Succ(x69)), Succ(x69))=Succ(Succ(Succ(x8))) & Zero=x70 & Zero=x69 ==> new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(Zero, Zero, Zero, Zero)))) We simplified constraint (9) using rules (III), (IV), (VII) which results in the following new constraint: (10) (new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(Zero, Zero, Zero, Zero)))) We simplified constraint (8) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x75, x63)=Succ(Succ(Succ(x8))) which results in the following new constraint: (11) (new_primModNatS1(new_primMinusNatS2(Succ(x77), Succ(x76)), Succ(x76))=Succ(Succ(Succ(x8))) & Succ(x62)=x77 & Zero=x76 ==> new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Succ(x62)))))))_>=_new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(Succ(x62), Zero, Succ(x62), Zero)))) We simplified constraint (11) using rules (III), (IV), (VII) which results in the following new constraint: (12) (new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Succ(x62)))))))_>=_new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(Succ(x62), Zero, Succ(x62), 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_primModNatS01(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_primModNatS01(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) *(new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Zero))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS01(Zero, Zero, Zero, Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Zero))))))) *(new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(x32)))))), Neg(Succ(Succ(Zero))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS01(Succ(x32), Zero, Succ(x32), Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Succ(x32)))))))) *new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(x0, Zero, x0, Zero))) *(new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(Zero, Zero, Zero, Zero)))) *(new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Succ(x62)))))))_>=_new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(Succ(x62), Zero, Succ(x62), 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_primModNatS01(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_primModNatS01(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_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS01(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_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) 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_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, 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_primModNatS01(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_primModNatS01(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS01(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_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) 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_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, 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_primModNatS01(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_primModNatS01(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) new_esEs0(Neg(Succ(vuz2500))) -> False new_esEs0(Neg(Zero)) -> True new_primModNatS01(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_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) 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_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, 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_primModNatS01(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_primModNatS01(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_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) new_esEs0(Neg(Succ(vuz2500))) -> False new_esEs0(Neg(Zero)) -> True new_primModNatS01(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_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) 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_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, 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_primModNatS01(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_primModNatS01(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_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) new_esEs0(Neg(Succ(vuz2500))) -> False new_esEs0(Neg(Zero)) -> True new_primModNatS01(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_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) 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_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, 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_primModNatS01(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_primModNatS01(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_primModNatS01(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_primModNatS01(x3, Zero, x3, Zero)))) We simplified constraint (1) using rules (I), (II), (VII) which results in the following new constraint: (2) (Zero=x20 & x3=x21 & Zero=x22 & new_primModNatS01(x3, x20, x21, x22)=Succ(Succ(Succ(x4))) ==> new_gcd0Gcd'10(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x3))))))_>=_new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(x3, Zero, x3, Zero)))) We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x3, x20, x21, x22)=Succ(Succ(Succ(x4))) which results in the following new constraints: (3) (new_primModNatS02(x24, x23)=Succ(Succ(Succ(x4))) & Zero=x23 & x24=Zero & Zero=Zero ==> new_gcd0Gcd'10(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x24))))))_>=_new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(x24, Zero, x24, Zero)))) (4) (new_primModNatS01(x28, x27, x26, x25)=Succ(Succ(Succ(x4))) & Zero=x27 & x28=Succ(x26) & Zero=Succ(x25) & (\/x29:new_primModNatS01(x28, x27, x26, x25)=Succ(Succ(Succ(x29))) & Zero=x27 & x28=x26 & Zero=x25 ==> new_gcd0Gcd'10(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x28))))))_>=_new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(x28, Zero, x28, Zero)))) ==> new_gcd0Gcd'10(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x28))))))_>=_new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(x28, Zero, x28, Zero)))) (5) (new_primModNatS02(x32, x31)=Succ(Succ(Succ(x4))) & Zero=x31 & x32=Succ(x30) & Zero=Zero ==> new_gcd0Gcd'10(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x32))))))_>=_new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(x32, Zero, x32, Zero)))) (6) (Succ(Succ(x35))=Succ(Succ(Succ(x4))) & Zero=x34 & x35=Zero & Zero=Succ(x33) ==> new_gcd0Gcd'10(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x35))))))_>=_new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(x35, Zero, x35, Zero)))) We simplified constraint (3) using rules (I), (II), (III), (VII) which results in the following new constraint: (7) (Zero=x36 & new_primModNatS02(x36, x23)=Succ(Succ(Succ(x4))) & Zero=x23 ==> new_gcd0Gcd'10(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(Zero, Zero, Zero, Zero)))) We solved constraint (4) using rules (I), (II).We simplified constraint (5) using rules (I), (II), (III), (VII) which results in the following new constraint: (8) (Succ(x30)=x43 & new_primModNatS02(x43, x31)=Succ(Succ(Succ(x4))) & Zero=x31 ==> new_gcd0Gcd'10(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Succ(x30)))))))_>=_new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(Succ(x30), Zero, Succ(x30), Zero)))) We solved constraint (6) using rules (I), (II).We simplified constraint (7) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x36, x23)=Succ(Succ(Succ(x4))) which results in the following new constraint: (9) (new_primModNatS1(new_primMinusNatS2(Succ(x38), Succ(x37)), Succ(x37))=Succ(Succ(Succ(x4))) & Zero=x38 & Zero=x37 ==> new_gcd0Gcd'10(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(Zero, Zero, Zero, Zero)))) We simplified constraint (9) using rules (III), (IV), (VII) which results in the following new constraint: (10) (new_gcd0Gcd'10(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(Zero, Zero, Zero, Zero)))) We simplified constraint (8) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x43, x31)=Succ(Succ(Succ(x4))) which results in the following new constraint: (11) (new_primModNatS1(new_primMinusNatS2(Succ(x45), Succ(x44)), Succ(x44))=Succ(Succ(Succ(x4))) & Succ(x30)=x45 & Zero=x44 ==> new_gcd0Gcd'10(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Succ(x30)))))))_>=_new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(Succ(x30), Zero, Succ(x30), Zero)))) We simplified constraint (11) using rules (III), (IV), (VII) which results in the following new constraint: (12) (new_gcd0Gcd'10(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Succ(x30)))))))_>=_new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(Succ(x30), Zero, Succ(x30), 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_primModNatS01(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_primModNatS01(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) the following chains were created: *We consider the chain new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x10))))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS01(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_primModNatS01(x11, Zero, x11, Zero))) which results in the following constraint: (1) (new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS01(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_primModNatS01(x10, Zero, x10, Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x10))))))) We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: (2) (Neg(new_primModNatS01(x10, Zero, x10, Zero))=x50 & new_esEs0(x50)=False ==> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x10))))), Pos(Succ(Succ(Zero))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS01(x10, Zero, x10, Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x10))))))) We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_esEs0(x50)=False which results in the following new constraint: (3) (False=False & Neg(new_primModNatS01(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_primModNatS01(x10, Zero, x10, Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x10))))))) We simplified constraint (3) using rules (I), (II), (VII) which results in the following new constraint: (4) (Zero=x52 & x10=x53 & Zero=x54 & new_primModNatS01(x10, x52, x53, x54)=Succ(x51) ==> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x10))))), Pos(Succ(Succ(Zero))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS01(x10, Zero, x10, Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x10))))))) We simplified constraint (4) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x10, x52, x53, x54)=Succ(x51) which results in the following new constraints: (5) (new_primModNatS02(x56, x55)=Succ(x51) & Zero=x55 & x56=Zero & Zero=Zero ==> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x56))))), Pos(Succ(Succ(Zero))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS01(x56, Zero, x56, Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x56))))))) (6) (new_primModNatS01(x60, x59, x58, x57)=Succ(x51) & Zero=x59 & x60=Succ(x58) & Zero=Succ(x57) & (\/x61:new_primModNatS01(x60, x59, x58, x57)=Succ(x61) & Zero=x59 & x60=x58 & Zero=x57 ==> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x60))))), Pos(Succ(Succ(Zero))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS01(x60, Zero, x60, Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x60))))))) ==> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x60))))), Pos(Succ(Succ(Zero))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS01(x60, Zero, x60, Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x60))))))) (7) (new_primModNatS02(x64, x63)=Succ(x51) & Zero=x63 & x64=Succ(x62) & Zero=Zero ==> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x64))))), Pos(Succ(Succ(Zero))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS01(x64, Zero, x64, Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x64))))))) (8) (Succ(Succ(x67))=Succ(x51) & Zero=x66 & x67=Zero & Zero=Succ(x65) ==> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x67))))), Pos(Succ(Succ(Zero))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS01(x67, Zero, x67, Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x67))))))) We simplified constraint (5) using rules (I), (II), (III), (VII) which results in the following new constraint: (9) (Zero=x68 & new_primModNatS02(x68, x55)=Succ(x51) & Zero=x55 ==> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Zero))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS01(Zero, Zero, Zero, Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Zero))))))) We solved constraint (6) using rules (I), (II).We simplified constraint (7) using rules (I), (II), (III), (VII) which results in the following new constraint: (10) (Succ(x62)=x75 & new_primModNatS02(x75, x63)=Succ(x51) & Zero=x63 ==> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Succ(x62)))))), Pos(Succ(Succ(Zero))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS01(Succ(x62), Zero, Succ(x62), Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Succ(x62)))))))) We solved constraint (8) using rules (I), (II).We simplified constraint (9) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x68, x55)=Succ(x51) which results in the following new constraint: (11) (new_primModNatS1(new_primMinusNatS2(Succ(x70), Succ(x69)), Succ(x69))=Succ(x51) & Zero=x70 & Zero=x69 ==> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Zero))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS01(Zero, Zero, Zero, Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Zero))))))) We simplified constraint (11) using rules (III), (IV), (VII) which results in the following new constraint: (12) (new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Zero))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS01(Zero, Zero, Zero, Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Zero))))))) We simplified constraint (10) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x75, x63)=Succ(x51) which results in the following new constraint: (13) (new_primModNatS1(new_primMinusNatS2(Succ(x77), Succ(x76)), Succ(x76))=Succ(x51) & Succ(x62)=x77 & Zero=x76 ==> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Succ(x62)))))), Pos(Succ(Succ(Zero))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS01(Succ(x62), Zero, Succ(x62), Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Succ(x62)))))))) We simplified constraint (13) using rules (III), (IV), (VII) which results in the following new constraint: (14) (new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Succ(x62)))))), Pos(Succ(Succ(Zero))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS01(Succ(x62), Zero, Succ(x62), Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Succ(x62)))))))) 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_primModNatS01(x0, Zero, x0, Zero))) *(new_gcd0Gcd'10(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(Zero, Zero, Zero, Zero)))) *(new_gcd0Gcd'10(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Succ(x30)))))))_>=_new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(Succ(x30), Zero, Succ(x30), 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_primModNatS01(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) *(new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Zero))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS01(Zero, Zero, Zero, Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Zero))))))) *(new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Succ(x62)))))), Pos(Succ(Succ(Zero))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS01(Succ(x62), Zero, Succ(x62), Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Succ(x62)))))))) *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_primModNatS01(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_primModNatS01(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_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) new_esEs0(Neg(Succ(vuz2500))) -> False new_esEs0(Neg(Zero)) -> True new_primModNatS01(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_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) 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_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, 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_primModNatS01(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_primModNatS01(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_primModNatS01(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_primModNatS01(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_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS01(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_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) 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_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, 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_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) at position [0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(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_primModNatS02(Succ(Zero), 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(Succ(x3)))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))),new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2))))))) (new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(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_primModNatS02(Succ(Succ(x2)), 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(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_primModNatS01(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_primModNatS01(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_primModNatS01(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(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(Succ(Zero), 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(Succ(x3)))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(Succ(Succ(x2)), 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(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_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS01(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_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) 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_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, 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(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(Succ(Zero), Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) at position [0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'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)))))) ---------------------------------------- (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_primModNatS01(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_primModNatS01(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_primModNatS01(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_primModNatS01(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_primModNatS02(Succ(Succ(x2)), 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(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(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_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS01(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_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) 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_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, 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(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) at position [0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'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))))))) ---------------------------------------- (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_primModNatS01(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_primModNatS01(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_primModNatS01(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_primModNatS01(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(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(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_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS01(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_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) 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_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, 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_primModNatS01(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_primModNatS01(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_primModNatS01(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_primModNatS01(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(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(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_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS01(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_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) 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_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, 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(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)))))) ---------------------------------------- (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_primModNatS01(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_primModNatS01(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_primModNatS01(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_primModNatS01(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(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))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS01(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_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) 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_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, 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(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))))))) ---------------------------------------- (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_primModNatS01(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_primModNatS01(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_primModNatS01(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_primModNatS01(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(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS01(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_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) 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_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, 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(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)))))) ---------------------------------------- (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_primModNatS01(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_primModNatS01(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_primModNatS01(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_primModNatS01(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(Zero, Zero), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS01(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_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) 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_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, 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(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))))))) ---------------------------------------- (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_primModNatS01(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_primModNatS01(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_primModNatS01(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_primModNatS01(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(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_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS01(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_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) 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_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, 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(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)))))) ---------------------------------------- (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_primModNatS01(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_primModNatS01(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_primModNatS01(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_primModNatS01(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(Zero, Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS01(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_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) 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_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, 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(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))))))) ---------------------------------------- (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_primModNatS01(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_primModNatS01(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_primModNatS01(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_primModNatS01(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(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_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS01(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_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) 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_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, 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_primModNatS01(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_primModNatS01(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_primModNatS01(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_primModNatS01(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_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS01(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_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) 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_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, 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_primModNatS01(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_primModNatS01(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_primModNatS01(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_primModNatS01(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_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS01(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_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) 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_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, 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_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) at position [0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(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_primModNatS02(Succ(Zero), Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(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_primModNatS01(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_primModNatS01(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(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(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_primModNatS02(Succ(Succ(x2)), 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(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_primModNatS01(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_primModNatS01(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_primModNatS01(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(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(Succ(Zero), Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(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_primModNatS01(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(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(Succ(Succ(x2)), 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(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_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS01(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_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) 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_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, 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_primModNatS01(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_primModNatS01(Succ(x2), 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_primModNatS01(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_primModNatS01(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(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(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(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_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS01(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_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) 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_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, 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_primModNatS02(Succ(Succ(x2)), Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) at position [0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'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_primModNatS01(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_primModNatS01(Succ(x2), 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_primModNatS01(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_primModNatS01(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(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(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_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS01(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_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) 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_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, 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_primModNatS01(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_primModNatS01(Succ(x2), 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_primModNatS01(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_primModNatS01(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(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'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_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS01(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_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) 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_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, 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_primModNatS01(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_primModNatS01(Succ(x2), 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_primModNatS01(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_primModNatS01(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(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'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_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS01(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_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) 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_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, 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_primModNatS01(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_primModNatS01(Succ(x2), 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_primModNatS01(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_primModNatS01(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(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'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_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS01(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_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) 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_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, 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_primModNatS01(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_primModNatS01(Succ(x2), 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_primModNatS01(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_primModNatS01(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(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'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_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS01(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_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) 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_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, 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_primModNatS01(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(Zero))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(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_primModNatS02(Succ(Zero), 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_primModNatS01(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_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)))) (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_primModNatS02(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_primModNatS02(Succ(Succ(x2)), 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_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(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_primModNatS01(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_primModNatS01(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(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'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(Zero))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Zero), 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_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 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_primModNatS02(Succ(Succ(x2)), 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_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS01(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_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) 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_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, 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'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_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS01(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_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) 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_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, 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'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_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS01(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_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) 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_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_esEs0(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (641) 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_primModNatS01(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_primModNatS01(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_primModNatS01(x26, x25, x28, x29)=Succ(x21) which results in the following new constraints: (9) (new_primModNatS02(x31, x30)=Succ(x21) & x31=Zero & x30=Zero & Succ(Zero)=x30 ==> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(x31)))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(Succ(x31)), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(x31)))))))) (10) (new_primModNatS01(x35, x34, x33, x32)=Succ(x21) & x35=Succ(x33) & x34=Succ(x32) & Succ(Zero)=x34 & (\/x36:new_primModNatS01(x35, x34, x33, x32)=Succ(x36) & x35=x33 & x34=x32 & Succ(Zero)=x34 ==> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(x35)))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(Succ(x35)), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(x35)))))))) ==> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(x35)))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(Succ(x35)), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(x35)))))))) (11) (new_primModNatS02(x39, x38)=Succ(x21) & x39=Succ(x37) & x38=Zero & Succ(Zero)=x38 ==> new_gcd0Gcd'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(x33))))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(Succ(Succ(x33))), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x33))))))))) We solved constraint (11) using rules (I), (II), (III).We simplified constraint (12) using rules (I), (II), (III), (IV) which results in the following new constraint: (14) (new_gcd0Gcd'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_primModNatS01(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_primModNatS01(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_primModNatS01(x49, x48, x51, x52)=Succ(Succ(Succ(Succ(x16)))) which results in the following new constraints: (6) (new_primModNatS02(x54, x53)=Succ(Succ(Succ(Succ(x16)))) & x54=Zero & x53=Zero & Succ(Zero)=x53 ==> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(x54)))))))_>=_new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(Succ(x54)), Succ(Succ(Zero)))))) (7) (new_primModNatS01(x58, x57, x56, x55)=Succ(Succ(Succ(Succ(x16)))) & x58=Succ(x56) & x57=Succ(x55) & Succ(Zero)=x57 & (\/x59:new_primModNatS01(x58, x57, x56, x55)=Succ(Succ(Succ(Succ(x59)))) & x58=x56 & x57=x55 & Succ(Zero)=x57 ==> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(x58)))))))_>=_new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(Succ(x58)), Succ(Succ(Zero)))))) ==> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(x58)))))))_>=_new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(Succ(x58)), Succ(Succ(Zero)))))) (8) (new_primModNatS02(x62, x61)=Succ(Succ(Succ(Succ(x16)))) & x62=Succ(x60) & x61=Zero & Succ(Zero)=x61 ==> new_gcd0Gcd'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(x56))))))))_>=_new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(Succ(Succ(x56))), Succ(Succ(Zero)))))) We solved constraint (8) using rules (I), (II), (III).We solved constraint (9) using rules (I), (II), (III), (IV). To summarize, we get the following constraints P__>=_ for the following pairs. *new_gcd0Gcd'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(x33))))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(Succ(Succ(x33))), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x33))))))))) *new_gcd0Gcd'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(x56))))))))_>=_new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(Succ(Succ(x56))), Succ(Succ(Zero)))))) The constraints for P_> respective P_bound are constructed from P__>=_ where we just replace every occurence of "t _>=_ s" in P__>=_ by "t > s" respective "t _>=_ c". Here c stands for the fresh constant used for P_bound. ---------------------------------------- (642) 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_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS01(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_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) 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_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_esEs0(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (643) 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_primModNatS02(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_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS01(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_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) 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_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_esEs0(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (644) 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. ---------------------------------------- (645) 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_primModNatS02(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_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) new_esEs0(Neg(Succ(vuz2500))) -> False new_esEs0(Neg(Zero)) -> True new_primModNatS01(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_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) 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_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_esEs0(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (646) 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_primModNatS02(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)))))) ---------------------------------------- (647) 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_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) new_esEs0(Neg(Succ(vuz2500))) -> False new_esEs0(Neg(Zero)) -> True new_primModNatS01(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_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) 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_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_esEs0(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (648) 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)))))) ---------------------------------------- (649) 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_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) new_esEs0(Neg(Succ(vuz2500))) -> False new_esEs0(Neg(Zero)) -> True new_primModNatS01(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_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) 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_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_esEs0(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (650) 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)))))) ---------------------------------------- (651) 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_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) new_esEs0(Neg(Succ(vuz2500))) -> False new_esEs0(Neg(Zero)) -> True new_primModNatS01(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_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) 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_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_esEs0(Neg(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (652) 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)))))) ---------------------------------------- (653) 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_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) new_esEs0(Neg(Succ(vuz2500))) -> False new_esEs0(Neg(Zero)) -> True new_primModNatS01(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_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) 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_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, 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(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_primModNatS01(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_primModNatS01(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_primModNatS01(x26, x25, x28, x29)=Succ(x21) which results in the following new constraints: (9) (new_primModNatS02(x31, x30)=Succ(x21) & x31=Zero & x30=Zero & Succ(Zero)=x30 ==> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Succ(x31)))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(Succ(x31)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(x31)))))))) (10) (new_primModNatS01(x35, x34, x33, x32)=Succ(x21) & x35=Succ(x33) & x34=Succ(x32) & Succ(Zero)=x34 & (\/x36:new_primModNatS01(x35, x34, x33, x32)=Succ(x36) & x35=x33 & x34=x32 & Succ(Zero)=x34 ==> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Succ(x35)))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(Succ(x35)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(x35)))))))) ==> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Succ(x35)))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(Succ(x35)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(x35)))))))) (11) (new_primModNatS02(x39, x38)=Succ(x21) & x39=Succ(x37) & x38=Zero & Succ(Zero)=x38 ==> new_gcd0Gcd'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(x33))))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(Succ(Succ(x33))), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x33))))))))) We solved constraint (11) using rules (I), (II), (III).We simplified constraint (12) using rules (I), (II), (III), (IV) which results in the following new constraint: (14) (new_gcd0Gcd'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_primModNatS01(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_primModNatS01(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_primModNatS01(x49, x48, x51, x52)=Succ(Succ(Succ(Succ(x16)))) which results in the following new constraints: (6) (new_primModNatS02(x54, x53)=Succ(Succ(Succ(Succ(x16)))) & x54=Zero & x53=Zero & Succ(Zero)=x53 ==> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(x54)))))))_>=_new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(Succ(x54)), Succ(Succ(Zero)))))) (7) (new_primModNatS01(x58, x57, x56, x55)=Succ(Succ(Succ(Succ(x16)))) & x58=Succ(x56) & x57=Succ(x55) & Succ(Zero)=x57 & (\/x59:new_primModNatS01(x58, x57, x56, x55)=Succ(Succ(Succ(Succ(x59)))) & x58=x56 & x57=x55 & Succ(Zero)=x57 ==> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(x58)))))))_>=_new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(Succ(x58)), Succ(Succ(Zero)))))) ==> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(x58)))))))_>=_new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(Succ(x58)), Succ(Succ(Zero)))))) (8) (new_primModNatS02(x62, x61)=Succ(Succ(Succ(Succ(x16)))) & x62=Succ(x60) & x61=Zero & Succ(Zero)=x61 ==> new_gcd0Gcd'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(x56))))))))_>=_new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(Succ(Succ(x56))), Succ(Succ(Zero)))))) We solved constraint (8) using rules (I), (II), (III).We solved constraint (9) using rules (I), (II), (III), (IV). To summarize, we get the following constraints P__>=_ for the following pairs. *new_gcd0Gcd'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(x33))))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(Succ(Succ(x33))), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x33))))))))) *new_gcd0Gcd'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(x56))))))))_>=_new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(Succ(Succ(x56))), Succ(Succ(Zero)))))) The constraints for P_> respective P_bound are constructed from P__>=_ where we just replace every occurence of "t _>=_ s" in P__>=_ by "t > s" respective "t _>=_ c". Here c stands for the fresh constant used for P_bound. ---------------------------------------- (655) 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_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) new_esEs0(Neg(Succ(vuz2500))) -> False new_esEs0(Neg(Zero)) -> True new_primModNatS01(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_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) 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_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, 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_primModNatS01(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_primModNatS01(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_primModNatS01(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_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS01(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_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) 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_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, 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_primModNatS01(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_primModNatS01(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_primModNatS01(Succ(Succ(x4)), Succ(Succ(x5)), x4, x5))), Neg(Succ(Succ(Succ(Succ(x5))))), Pos(Succ(Succ(Succ(Succ(x4)))))) which results in the following constraint: (1) (new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(new_primModNatS01(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_primModNatS01(Succ(Succ(x3)), Succ(Succ(x2)), x3, x2)))) We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: (2) (Succ(Succ(x3))=x40 & Succ(Succ(x2))=x41 & new_primModNatS01(x40, x41, x3, x2)=Succ(Succ(Succ(Succ(x5)))) ==> new_gcd0Gcd'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_primModNatS01(Succ(Succ(x3)), Succ(Succ(x2)), x3, x2)))) We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x40, x41, x3, x2)=Succ(Succ(Succ(Succ(x5)))) which results in the following new constraints: (3) (new_primModNatS02(x43, x42)=Succ(Succ(Succ(Succ(x5)))) & Succ(Succ(Zero))=x43 & Succ(Succ(Zero))=x42 ==> new_gcd0Gcd'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_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero)))) (4) (new_primModNatS01(x47, x46, x45, x44)=Succ(Succ(Succ(Succ(x5)))) & Succ(Succ(Succ(x45)))=x47 & Succ(Succ(Succ(x44)))=x46 & (\/x48:new_primModNatS01(x47, x46, x45, x44)=Succ(Succ(Succ(Succ(x48)))) & Succ(Succ(x45))=x47 & Succ(Succ(x44))=x46 ==> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(x44))))), Neg(Succ(Succ(Succ(Succ(x45))))))_>=_new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x44))))), Neg(new_primModNatS01(Succ(Succ(x45)), Succ(Succ(x44)), x45, x44)))) ==> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(Succ(x44)))))), Neg(Succ(Succ(Succ(Succ(Succ(x45)))))))_>=_new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(x44)))))), Neg(new_primModNatS01(Succ(Succ(Succ(x45))), Succ(Succ(Succ(x44))), Succ(x45), Succ(x44))))) (5) (new_primModNatS02(x51, x50)=Succ(Succ(Succ(Succ(x5)))) & Succ(Succ(Succ(x49)))=x51 & Succ(Succ(Zero))=x50 ==> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Succ(x49)))))))_>=_new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(new_primModNatS01(Succ(Succ(Succ(x49))), Succ(Succ(Zero)), Succ(x49), Zero)))) (6) (Succ(Succ(x54))=Succ(Succ(Succ(Succ(x5)))) & Succ(Succ(Zero))=x54 & Succ(Succ(Succ(x52)))=x53 ==> new_gcd0Gcd'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_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Succ(x52))), Zero, Succ(x52))))) We simplified constraint (3) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x43, x42)=Succ(Succ(Succ(Succ(x5)))) which results in the following new constraint: (7) (new_primModNatS1(new_primMinusNatS2(Succ(x56), Succ(x55)), Succ(x55))=Succ(Succ(Succ(Succ(x5)))) & Succ(Succ(Zero))=x56 & Succ(Succ(Zero))=x55 ==> 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_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero)))) We simplified constraint (4) using rule (IV) which results in the following new constraint: (8) (new_primModNatS01(x47, x46, x45, x44)=Succ(Succ(Succ(Succ(x5)))) & Succ(Succ(Succ(x45)))=x47 & Succ(Succ(Succ(x44)))=x46 ==> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(Succ(x44)))))), Neg(Succ(Succ(Succ(Succ(Succ(x45)))))))_>=_new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(x44)))))), Neg(new_primModNatS01(Succ(Succ(Succ(x45))), Succ(Succ(Succ(x44))), Succ(x45), Succ(x44))))) We simplified constraint (5) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x51, x50)=Succ(Succ(Succ(Succ(x5)))) which results in the following new constraint: (9) (new_primModNatS1(new_primMinusNatS2(Succ(x75), Succ(x74)), Succ(x74))=Succ(Succ(Succ(Succ(x5)))) & Succ(Succ(Succ(x49)))=x75 & Succ(Succ(Zero))=x74 ==> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Succ(x49)))))))_>=_new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(new_primModNatS01(Succ(Succ(Succ(x49))), Succ(Succ(Zero)), Succ(x49), Zero)))) We simplified constraint (6) using rules (I), (II), (III), (IV) which results in the following new constraint: (10) (new_gcd0Gcd'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_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Succ(x52))), Zero, Succ(x52))))) We simplified constraint (7) using rules (III), (IV), (VII) which results in the following new constraint: (11) (new_gcd0Gcd'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_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero)))) We simplified constraint (8) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x47, x46, x45, x44)=Succ(Succ(Succ(Succ(x5)))) which results in the following new constraints: (12) (new_primModNatS02(x62, x61)=Succ(Succ(Succ(Succ(x5)))) & Succ(Succ(Succ(Zero)))=x62 & Succ(Succ(Succ(Zero)))=x61 ==> new_gcd0Gcd'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_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero))))) (13) (new_primModNatS01(x66, x65, x64, x63)=Succ(Succ(Succ(Succ(x5)))) & Succ(Succ(Succ(Succ(x64))))=x66 & Succ(Succ(Succ(Succ(x63))))=x65 & (\/x67:new_primModNatS01(x66, x65, x64, x63)=Succ(Succ(Succ(Succ(x67)))) & Succ(Succ(Succ(x64)))=x66 & Succ(Succ(Succ(x63)))=x65 ==> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(Succ(x63)))))), Neg(Succ(Succ(Succ(Succ(Succ(x64)))))))_>=_new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(x63)))))), Neg(new_primModNatS01(Succ(Succ(Succ(x64))), Succ(Succ(Succ(x63))), Succ(x64), Succ(x63))))) ==> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(Succ(Succ(x63))))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x64))))))))_>=_new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(Succ(x63))))))), Neg(new_primModNatS01(Succ(Succ(Succ(Succ(x64)))), Succ(Succ(Succ(Succ(x63)))), Succ(Succ(x64)), Succ(Succ(x63)))))) (14) (new_primModNatS02(x70, x69)=Succ(Succ(Succ(Succ(x5)))) & Succ(Succ(Succ(Succ(x68))))=x70 & Succ(Succ(Succ(Zero)))=x69 ==> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x68))))))))_>=_new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(new_primModNatS01(Succ(Succ(Succ(Succ(x68)))), Succ(Succ(Succ(Zero))), Succ(Succ(x68)), Succ(Zero))))) (15) (Succ(Succ(x73))=Succ(Succ(Succ(Succ(x5)))) & Succ(Succ(Succ(Zero)))=x73 & Succ(Succ(Succ(Succ(x71))))=x72 ==> new_gcd0Gcd'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_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Succ(x71)))), Succ(Zero), Succ(Succ(x71)))))) We simplified constraint (12) using rules (III), (IV) which results in the following new constraint: (16) (new_gcd0Gcd'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_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero))))) We simplified constraint (13) using rules (III), (IV) which results in the following new constraint: (17) (new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(Succ(Succ(x63))))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x64))))))))_>=_new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(Succ(x63))))))), Neg(new_primModNatS01(Succ(Succ(Succ(Succ(x64)))), Succ(Succ(Succ(Succ(x63)))), Succ(Succ(x64)), Succ(Succ(x63)))))) We simplified constraint (14) using rules (III), (IV) which results in the following new constraint: (18) (new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x68))))))))_>=_new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(new_primModNatS01(Succ(Succ(Succ(Succ(x68)))), Succ(Succ(Succ(Zero))), Succ(Succ(x68)), Succ(Zero))))) We simplified constraint (15) using rules (I), (II), (III), (IV) which results in the following new constraint: (19) (new_gcd0Gcd'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_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Succ(x71)))), Succ(Zero), Succ(Succ(x71)))))) We simplified constraint (9) using rules (III), (IV), (VII) which results in the following new constraint: (20) (new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Succ(x49)))))))_>=_new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(new_primModNatS01(Succ(Succ(Succ(x49))), Succ(Succ(Zero)), Succ(x49), 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_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) the following chains were created: *We consider the chain new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x14))))), Neg(Succ(Succ(Succ(Succ(x15)))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS01(Succ(Succ(x14)), Succ(Succ(x15)), x14, x15))), Neg(Succ(Succ(Succ(Succ(x15))))), Pos(Succ(Succ(Succ(Succ(x14)))))), new_gcd0Gcd'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_primModNatS01(Succ(Succ(x17)), Succ(Succ(x16)), x17, x16))) which results in the following constraint: (1) (new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS01(Succ(Succ(x14)), Succ(Succ(x15)), x14, x15))), Neg(Succ(Succ(Succ(Succ(x15))))), Pos(Succ(Succ(Succ(Succ(x14))))))=new_gcd0Gcd'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_primModNatS01(Succ(Succ(x14)), Succ(Succ(x15)), x14, x15))), Neg(Succ(Succ(Succ(Succ(x15))))), Pos(Succ(Succ(Succ(Succ(x14))))))) We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: (2) (Pos(new_primModNatS01(Succ(Succ(x14)), Succ(Succ(x15)), x14, x15))=x80 & new_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_primModNatS01(Succ(Succ(x14)), Succ(Succ(x15)), x14, x15))), Neg(Succ(Succ(Succ(Succ(x15))))), Pos(Succ(Succ(Succ(Succ(x14))))))) We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_esEs0(x80)=False which results in the following new constraints: (3) (False=False & Pos(new_primModNatS01(Succ(Succ(x14)), Succ(Succ(x15)), x14, x15))=Pos(Succ(x81)) ==> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x14))))), Neg(Succ(Succ(Succ(Succ(x15))))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS01(Succ(Succ(x14)), Succ(Succ(x15)), x14, x15))), Neg(Succ(Succ(Succ(Succ(x15))))), Pos(Succ(Succ(Succ(Succ(x14))))))) (4) (False=False & Pos(new_primModNatS01(Succ(Succ(x14)), Succ(Succ(x15)), x14, x15))=Neg(Succ(x82)) ==> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x14))))), Neg(Succ(Succ(Succ(Succ(x15))))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS01(Succ(Succ(x14)), Succ(Succ(x15)), x14, x15))), Neg(Succ(Succ(Succ(Succ(x15))))), Pos(Succ(Succ(Succ(Succ(x14))))))) We simplified constraint (3) using rules (I), (II), (VII) which results in the following new constraint: (5) (Succ(Succ(x14))=x83 & Succ(Succ(x15))=x84 & new_primModNatS01(x83, x84, x14, x15)=Succ(x81) ==> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x14))))), Neg(Succ(Succ(Succ(Succ(x15))))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS01(Succ(Succ(x14)), Succ(Succ(x15)), x14, x15))), Neg(Succ(Succ(Succ(Succ(x15))))), Pos(Succ(Succ(Succ(Succ(x14))))))) We solved constraint (4) using rules (I), (II).We simplified constraint (5) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x83, x84, x14, x15)=Succ(x81) which results in the following new constraints: (6) (new_primModNatS02(x86, x85)=Succ(x81) & Succ(Succ(Zero))=x86 & Succ(Succ(Zero))=x85 ==> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero))), Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))))) (7) (new_primModNatS01(x90, x89, x88, x87)=Succ(x81) & Succ(Succ(Succ(x88)))=x90 & Succ(Succ(Succ(x87)))=x89 & (\/x91:new_primModNatS01(x90, x89, x88, x87)=Succ(x91) & Succ(Succ(x88))=x90 & Succ(Succ(x87))=x89 ==> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x88))))), Neg(Succ(Succ(Succ(Succ(x87))))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS01(Succ(Succ(x88)), Succ(Succ(x87)), x88, x87))), Neg(Succ(Succ(Succ(Succ(x87))))), Pos(Succ(Succ(Succ(Succ(x88))))))) ==> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(x88)))))), Neg(Succ(Succ(Succ(Succ(Succ(x87)))))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS01(Succ(Succ(Succ(x88))), Succ(Succ(Succ(x87))), Succ(x88), Succ(x87)))), Neg(Succ(Succ(Succ(Succ(Succ(x87)))))), Pos(Succ(Succ(Succ(Succ(Succ(x88)))))))) (8) (new_primModNatS02(x94, x93)=Succ(x81) & Succ(Succ(Succ(x92)))=x94 & Succ(Succ(Zero))=x93 ==> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(x92)))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS01(Succ(Succ(Succ(x92))), Succ(Succ(Zero)), Succ(x92), Zero))), Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Succ(x92)))))))) (9) (Succ(Succ(x97))=Succ(x81) & Succ(Succ(Zero))=x97 & Succ(Succ(Succ(x95)))=x96 ==> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Succ(x95)))))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Succ(x95))), Zero, Succ(x95)))), Neg(Succ(Succ(Succ(Succ(Succ(x95)))))), Pos(Succ(Succ(Succ(Succ(Zero))))))) We simplified constraint (6) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x86, x85)=Succ(x81) which results in the following new constraint: (10) (new_primModNatS1(new_primMinusNatS2(Succ(x99), Succ(x98)), Succ(x98))=Succ(x81) & Succ(Succ(Zero))=x99 & Succ(Succ(Zero))=x98 ==> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero))), Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))))) We simplified constraint (7) using rule (IV) which results in the following new constraint: (11) (new_primModNatS01(x90, x89, x88, x87)=Succ(x81) & Succ(Succ(Succ(x88)))=x90 & Succ(Succ(Succ(x87)))=x89 ==> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(x88)))))), Neg(Succ(Succ(Succ(Succ(Succ(x87)))))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS01(Succ(Succ(Succ(x88))), Succ(Succ(Succ(x87))), Succ(x88), Succ(x87)))), Neg(Succ(Succ(Succ(Succ(Succ(x87)))))), Pos(Succ(Succ(Succ(Succ(Succ(x88)))))))) We simplified constraint (8) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x94, x93)=Succ(x81) which results in the following new constraint: (12) (new_primModNatS1(new_primMinusNatS2(Succ(x118), Succ(x117)), Succ(x117))=Succ(x81) & Succ(Succ(Succ(x92)))=x118 & Succ(Succ(Zero))=x117 ==> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(x92)))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS01(Succ(Succ(Succ(x92))), Succ(Succ(Zero)), Succ(x92), Zero))), Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Succ(x92)))))))) We simplified constraint (9) using rules (I), (II), (IV) which results in the following new constraint: (13) (new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Succ(x95)))))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Succ(x95))), Zero, Succ(x95)))), Neg(Succ(Succ(Succ(Succ(Succ(x95)))))), Pos(Succ(Succ(Succ(Succ(Zero))))))) We simplified constraint (10) using rules (III), (IV), (VII) which results in the following new constraint: (14) (new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero))), Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))))) We simplified constraint (11) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x90, x89, x88, x87)=Succ(x81) which results in the following new constraints: (15) (new_primModNatS02(x105, x104)=Succ(x81) & Succ(Succ(Succ(Zero)))=x105 & Succ(Succ(Succ(Zero)))=x104 ==> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))) (16) (new_primModNatS01(x109, x108, x107, x106)=Succ(x81) & Succ(Succ(Succ(Succ(x107))))=x109 & Succ(Succ(Succ(Succ(x106))))=x108 & (\/x110:new_primModNatS01(x109, x108, x107, x106)=Succ(x110) & Succ(Succ(Succ(x107)))=x109 & Succ(Succ(Succ(x106)))=x108 ==> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(x107)))))), Neg(Succ(Succ(Succ(Succ(Succ(x106)))))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS01(Succ(Succ(Succ(x107))), Succ(Succ(Succ(x106))), Succ(x107), Succ(x106)))), Neg(Succ(Succ(Succ(Succ(Succ(x106)))))), Pos(Succ(Succ(Succ(Succ(Succ(x107)))))))) ==> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(Succ(x107))))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x106))))))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS01(Succ(Succ(Succ(Succ(x107)))), Succ(Succ(Succ(Succ(x106)))), Succ(Succ(x107)), Succ(Succ(x106))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x106))))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x107))))))))) (17) (new_primModNatS02(x113, x112)=Succ(x81) & Succ(Succ(Succ(Succ(x111))))=x113 & Succ(Succ(Succ(Zero)))=x112 ==> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(Succ(x111))))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS01(Succ(Succ(Succ(Succ(x111)))), Succ(Succ(Succ(Zero))), Succ(Succ(x111)), Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x111))))))))) (18) (Succ(Succ(x116))=Succ(x81) & Succ(Succ(Succ(Zero)))=x116 & Succ(Succ(Succ(Succ(x114))))=x115 ==> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x114))))))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Succ(x114)))), Succ(Zero), Succ(Succ(x114))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x114))))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))) We simplified constraint (15) using rules (III), (IV) which results in the following new constraint: (19) (new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))) We simplified constraint (16) using rules (III), (IV) which results in the following new constraint: (20) (new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(Succ(x107))))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x106))))))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS01(Succ(Succ(Succ(Succ(x107)))), Succ(Succ(Succ(Succ(x106)))), Succ(Succ(x107)), Succ(Succ(x106))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x106))))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x107))))))))) We simplified constraint (17) using rules (III), (IV) which results in the following new constraint: (21) (new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(Succ(x111))))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS01(Succ(Succ(Succ(Succ(x111)))), Succ(Succ(Succ(Zero))), Succ(Succ(x111)), Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x111))))))))) We simplified constraint (18) using rules (I), (II), (IV) which results in the following new constraint: (22) (new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x114))))))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Succ(x114)))), Succ(Zero), Succ(Succ(x114))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x114))))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))) We simplified constraint (12) using rules (III), (IV), (VII) which results in the following new constraint: (23) (new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(x92)))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS01(Succ(Succ(Succ(x92))), Succ(Succ(Zero)), Succ(x92), Zero))), Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Succ(x92)))))))) For Pair new_gcd0Gcd'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_primModNatS01(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_primModNatS01(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_primModNatS01(Succ(Succ(x28)), Succ(Succ(x29)), x28, x29))), Pos(Succ(Succ(Succ(Succ(x29))))), Neg(Succ(Succ(Succ(Succ(x28)))))) which results in the following constraint: (1) (new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x26))))), Pos(new_primModNatS01(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_primModNatS01(Succ(Succ(x27)), Succ(Succ(x26)), x27, x26)))) We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: (2) (Succ(Succ(x27))=x123 & Succ(Succ(x26))=x124 & new_primModNatS01(x123, x124, x27, x26)=Succ(Succ(Succ(Succ(x29)))) ==> new_gcd0Gcd'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_primModNatS01(Succ(Succ(x27)), Succ(Succ(x26)), x27, x26)))) We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x123, x124, x27, x26)=Succ(Succ(Succ(Succ(x29)))) which results in the following new constraints: (3) (new_primModNatS02(x126, x125)=Succ(Succ(Succ(Succ(x29)))) & Succ(Succ(Zero))=x126 & Succ(Succ(Zero))=x125 ==> new_gcd0Gcd'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_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero)))) (4) (new_primModNatS01(x130, x129, x128, x127)=Succ(Succ(Succ(Succ(x29)))) & Succ(Succ(Succ(x128)))=x130 & Succ(Succ(Succ(x127)))=x129 & (\/x131:new_primModNatS01(x130, x129, x128, x127)=Succ(Succ(Succ(Succ(x131)))) & Succ(Succ(x128))=x130 & Succ(Succ(x127))=x129 ==> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x127))))), Pos(Succ(Succ(Succ(Succ(x128))))))_>=_new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x127))))), Pos(new_primModNatS01(Succ(Succ(x128)), Succ(Succ(x127)), x128, x127)))) ==> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(Succ(x127)))))), Pos(Succ(Succ(Succ(Succ(Succ(x128)))))))_>=_new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Succ(x127)))))), Pos(new_primModNatS01(Succ(Succ(Succ(x128))), Succ(Succ(Succ(x127))), Succ(x128), Succ(x127))))) (5) (new_primModNatS02(x134, x133)=Succ(Succ(Succ(Succ(x29)))) & Succ(Succ(Succ(x132)))=x134 & Succ(Succ(Zero))=x133 ==> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Succ(x132)))))))_>=_new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(new_primModNatS01(Succ(Succ(Succ(x132))), Succ(Succ(Zero)), Succ(x132), Zero)))) (6) (Succ(Succ(x137))=Succ(Succ(Succ(Succ(x29)))) & Succ(Succ(Zero))=x137 & Succ(Succ(Succ(x135)))=x136 ==> new_gcd0Gcd'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_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Succ(x135))), Zero, Succ(x135))))) We simplified constraint (3) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x126, x125)=Succ(Succ(Succ(Succ(x29)))) which results in the following new constraint: (7) (new_primModNatS1(new_primMinusNatS2(Succ(x139), Succ(x138)), Succ(x138))=Succ(Succ(Succ(Succ(x29)))) & Succ(Succ(Zero))=x139 & Succ(Succ(Zero))=x138 ==> 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_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero)))) We simplified constraint (4) using rule (IV) which results in the following new constraint: (8) (new_primModNatS01(x130, x129, x128, x127)=Succ(Succ(Succ(Succ(x29)))) & Succ(Succ(Succ(x128)))=x130 & Succ(Succ(Succ(x127)))=x129 ==> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(Succ(x127)))))), Pos(Succ(Succ(Succ(Succ(Succ(x128)))))))_>=_new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Succ(x127)))))), Pos(new_primModNatS01(Succ(Succ(Succ(x128))), Succ(Succ(Succ(x127))), Succ(x128), Succ(x127))))) We simplified constraint (5) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x134, x133)=Succ(Succ(Succ(Succ(x29)))) which results in the following new constraint: (9) (new_primModNatS1(new_primMinusNatS2(Succ(x158), Succ(x157)), Succ(x157))=Succ(Succ(Succ(Succ(x29)))) & Succ(Succ(Succ(x132)))=x158 & Succ(Succ(Zero))=x157 ==> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Succ(x132)))))))_>=_new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(new_primModNatS01(Succ(Succ(Succ(x132))), Succ(Succ(Zero)), Succ(x132), Zero)))) We simplified constraint (6) using rules (I), (II), (III), (IV) which results in the following new constraint: (10) (new_gcd0Gcd'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_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Succ(x135))), Zero, Succ(x135))))) We simplified constraint (7) using rules (III), (IV), (VII) which results in the following new constraint: (11) (new_gcd0Gcd'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_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero)))) We simplified constraint (8) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x130, x129, x128, x127)=Succ(Succ(Succ(Succ(x29)))) which results in the following new constraints: (12) (new_primModNatS02(x145, x144)=Succ(Succ(Succ(Succ(x29)))) & Succ(Succ(Succ(Zero)))=x145 & Succ(Succ(Succ(Zero)))=x144 ==> new_gcd0Gcd'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_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero))))) (13) (new_primModNatS01(x149, x148, x147, x146)=Succ(Succ(Succ(Succ(x29)))) & Succ(Succ(Succ(Succ(x147))))=x149 & Succ(Succ(Succ(Succ(x146))))=x148 & (\/x150:new_primModNatS01(x149, x148, x147, x146)=Succ(Succ(Succ(Succ(x150)))) & Succ(Succ(Succ(x147)))=x149 & Succ(Succ(Succ(x146)))=x148 ==> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(Succ(x146)))))), Pos(Succ(Succ(Succ(Succ(Succ(x147)))))))_>=_new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Succ(x146)))))), Pos(new_primModNatS01(Succ(Succ(Succ(x147))), Succ(Succ(Succ(x146))), Succ(x147), Succ(x146))))) ==> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(Succ(Succ(x146))))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x147))))))))_>=_new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Succ(Succ(x146))))))), Pos(new_primModNatS01(Succ(Succ(Succ(Succ(x147)))), Succ(Succ(Succ(Succ(x146)))), Succ(Succ(x147)), Succ(Succ(x146)))))) (14) (new_primModNatS02(x153, x152)=Succ(Succ(Succ(Succ(x29)))) & Succ(Succ(Succ(Succ(x151))))=x153 & Succ(Succ(Succ(Zero)))=x152 ==> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x151))))))))_>=_new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(new_primModNatS01(Succ(Succ(Succ(Succ(x151)))), Succ(Succ(Succ(Zero))), Succ(Succ(x151)), Succ(Zero))))) (15) (Succ(Succ(x156))=Succ(Succ(Succ(Succ(x29)))) & Succ(Succ(Succ(Zero)))=x156 & Succ(Succ(Succ(Succ(x154))))=x155 ==> new_gcd0Gcd'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_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Succ(x154)))), Succ(Zero), Succ(Succ(x154)))))) We simplified constraint (12) using rules (III), (IV) which results in the following new constraint: (16) (new_gcd0Gcd'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_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero))))) We simplified constraint (13) using rules (III), (IV) which results in the following new constraint: (17) (new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(Succ(Succ(x146))))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x147))))))))_>=_new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Succ(Succ(x146))))))), Pos(new_primModNatS01(Succ(Succ(Succ(Succ(x147)))), Succ(Succ(Succ(Succ(x146)))), Succ(Succ(x147)), Succ(Succ(x146)))))) We simplified constraint (14) using rules (III), (IV) which results in the following new constraint: (18) (new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x151))))))))_>=_new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(new_primModNatS01(Succ(Succ(Succ(Succ(x151)))), Succ(Succ(Succ(Zero))), Succ(Succ(x151)), Succ(Zero))))) We simplified constraint (15) using rules (I), (II), (III), (IV) which results in the following new constraint: (19) (new_gcd0Gcd'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_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Succ(x154)))), Succ(Zero), Succ(Succ(x154)))))) We simplified constraint (9) using rules (III), (IV), (VII) which results in the following new constraint: (20) (new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Succ(x132)))))))_>=_new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(new_primModNatS01(Succ(Succ(Succ(x132))), Succ(Succ(Zero)), Succ(x132), 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_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) the following chains were created: *We consider the chain new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x30))))), Pos(Succ(Succ(Succ(Succ(x31)))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS01(Succ(Succ(x30)), Succ(Succ(x31)), x30, x31))), Pos(Succ(Succ(Succ(Succ(x31))))), Neg(Succ(Succ(Succ(Succ(x30)))))), new_gcd0Gcd'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_primModNatS01(Succ(Succ(x33)), Succ(Succ(x32)), x33, x32))) which results in the following constraint: (1) (new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS01(Succ(Succ(x30)), Succ(Succ(x31)), x30, x31))), Pos(Succ(Succ(Succ(Succ(x31))))), Neg(Succ(Succ(Succ(Succ(x30))))))=new_gcd0Gcd'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_primModNatS01(Succ(Succ(x30)), Succ(Succ(x31)), x30, x31))), Pos(Succ(Succ(Succ(Succ(x31))))), Neg(Succ(Succ(Succ(Succ(x30))))))) We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: (2) (Neg(new_primModNatS01(Succ(Succ(x30)), Succ(Succ(x31)), x30, x31))=x163 & new_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_primModNatS01(Succ(Succ(x30)), Succ(Succ(x31)), x30, x31))), Pos(Succ(Succ(Succ(Succ(x31))))), Neg(Succ(Succ(Succ(Succ(x30))))))) We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_esEs0(x163)=False which results in the following new constraints: (3) (False=False & Neg(new_primModNatS01(Succ(Succ(x30)), Succ(Succ(x31)), x30, x31))=Pos(Succ(x164)) ==> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x30))))), Pos(Succ(Succ(Succ(Succ(x31))))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS01(Succ(Succ(x30)), Succ(Succ(x31)), x30, x31))), Pos(Succ(Succ(Succ(Succ(x31))))), Neg(Succ(Succ(Succ(Succ(x30))))))) (4) (False=False & Neg(new_primModNatS01(Succ(Succ(x30)), Succ(Succ(x31)), x30, x31))=Neg(Succ(x165)) ==> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x30))))), Pos(Succ(Succ(Succ(Succ(x31))))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS01(Succ(Succ(x30)), Succ(Succ(x31)), x30, x31))), Pos(Succ(Succ(Succ(Succ(x31))))), Neg(Succ(Succ(Succ(Succ(x30))))))) We solved constraint (3) using rules (I), (II).We simplified constraint (4) using rules (I), (II), (VII) which results in the following new constraint: (5) (Succ(Succ(x30))=x166 & Succ(Succ(x31))=x167 & new_primModNatS01(x166, x167, x30, x31)=Succ(x165) ==> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x30))))), Pos(Succ(Succ(Succ(Succ(x31))))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS01(Succ(Succ(x30)), Succ(Succ(x31)), x30, x31))), Pos(Succ(Succ(Succ(Succ(x31))))), Neg(Succ(Succ(Succ(Succ(x30))))))) We simplified constraint (5) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x166, x167, x30, x31)=Succ(x165) which results in the following new constraints: (6) (new_primModNatS02(x169, x168)=Succ(x165) & Succ(Succ(Zero))=x169 & Succ(Succ(Zero))=x168 ==> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero))), Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))))) (7) (new_primModNatS01(x173, x172, x171, x170)=Succ(x165) & Succ(Succ(Succ(x171)))=x173 & Succ(Succ(Succ(x170)))=x172 & (\/x174:new_primModNatS01(x173, x172, x171, x170)=Succ(x174) & Succ(Succ(x171))=x173 & Succ(Succ(x170))=x172 ==> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x171))))), Pos(Succ(Succ(Succ(Succ(x170))))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS01(Succ(Succ(x171)), Succ(Succ(x170)), x171, x170))), Pos(Succ(Succ(Succ(Succ(x170))))), Neg(Succ(Succ(Succ(Succ(x171))))))) ==> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Succ(x171)))))), Pos(Succ(Succ(Succ(Succ(Succ(x170)))))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS01(Succ(Succ(Succ(x171))), Succ(Succ(Succ(x170))), Succ(x171), Succ(x170)))), Pos(Succ(Succ(Succ(Succ(Succ(x170)))))), Neg(Succ(Succ(Succ(Succ(Succ(x171)))))))) (8) (new_primModNatS02(x177, x176)=Succ(x165) & Succ(Succ(Succ(x175)))=x177 & Succ(Succ(Zero))=x176 ==> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Succ(x175)))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS01(Succ(Succ(Succ(x175))), Succ(Succ(Zero)), Succ(x175), Zero))), Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Succ(x175)))))))) (9) (Succ(Succ(x180))=Succ(x165) & Succ(Succ(Zero))=x180 & Succ(Succ(Succ(x178)))=x179 ==> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Succ(x178)))))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Succ(x178))), Zero, Succ(x178)))), Pos(Succ(Succ(Succ(Succ(Succ(x178)))))), Neg(Succ(Succ(Succ(Succ(Zero))))))) We simplified constraint (6) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x169, x168)=Succ(x165) which results in the following new constraint: (10) (new_primModNatS1(new_primMinusNatS2(Succ(x182), Succ(x181)), Succ(x181))=Succ(x165) & Succ(Succ(Zero))=x182 & Succ(Succ(Zero))=x181 ==> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero))), Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))))) We simplified constraint (7) using rule (IV) which results in the following new constraint: (11) (new_primModNatS01(x173, x172, x171, x170)=Succ(x165) & Succ(Succ(Succ(x171)))=x173 & Succ(Succ(Succ(x170)))=x172 ==> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Succ(x171)))))), Pos(Succ(Succ(Succ(Succ(Succ(x170)))))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS01(Succ(Succ(Succ(x171))), Succ(Succ(Succ(x170))), Succ(x171), Succ(x170)))), Pos(Succ(Succ(Succ(Succ(Succ(x170)))))), Neg(Succ(Succ(Succ(Succ(Succ(x171)))))))) We simplified constraint (8) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x177, x176)=Succ(x165) which results in the following new constraint: (12) (new_primModNatS1(new_primMinusNatS2(Succ(x201), Succ(x200)), Succ(x200))=Succ(x165) & Succ(Succ(Succ(x175)))=x201 & Succ(Succ(Zero))=x200 ==> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Succ(x175)))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS01(Succ(Succ(Succ(x175))), Succ(Succ(Zero)), Succ(x175), Zero))), Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Succ(x175)))))))) We simplified constraint (9) using rules (I), (II), (IV) which results in the following new constraint: (13) (new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Succ(x178)))))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Succ(x178))), Zero, Succ(x178)))), Pos(Succ(Succ(Succ(Succ(Succ(x178)))))), Neg(Succ(Succ(Succ(Succ(Zero))))))) We simplified constraint (10) using rules (III), (IV), (VII) which results in the following new constraint: (14) (new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero))), Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))))) We simplified constraint (11) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x173, x172, x171, x170)=Succ(x165) which results in the following new constraints: (15) (new_primModNatS02(x188, x187)=Succ(x165) & Succ(Succ(Succ(Zero)))=x188 & Succ(Succ(Succ(Zero)))=x187 ==> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))) (16) (new_primModNatS01(x192, x191, x190, x189)=Succ(x165) & Succ(Succ(Succ(Succ(x190))))=x192 & Succ(Succ(Succ(Succ(x189))))=x191 & (\/x193:new_primModNatS01(x192, x191, x190, x189)=Succ(x193) & Succ(Succ(Succ(x190)))=x192 & Succ(Succ(Succ(x189)))=x191 ==> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Succ(x190)))))), Pos(Succ(Succ(Succ(Succ(Succ(x189)))))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS01(Succ(Succ(Succ(x190))), Succ(Succ(Succ(x189))), Succ(x190), Succ(x189)))), Pos(Succ(Succ(Succ(Succ(Succ(x189)))))), Neg(Succ(Succ(Succ(Succ(Succ(x190)))))))) ==> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Succ(Succ(x190))))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x189))))))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS01(Succ(Succ(Succ(Succ(x190)))), Succ(Succ(Succ(Succ(x189)))), Succ(Succ(x190)), Succ(Succ(x189))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x189))))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x190))))))))) (17) (new_primModNatS02(x196, x195)=Succ(x165) & Succ(Succ(Succ(Succ(x194))))=x196 & Succ(Succ(Succ(Zero)))=x195 ==> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Succ(Succ(x194))))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS01(Succ(Succ(Succ(Succ(x194)))), Succ(Succ(Succ(Zero))), Succ(Succ(x194)), Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x194))))))))) (18) (Succ(Succ(x199))=Succ(x165) & Succ(Succ(Succ(Zero)))=x199 & Succ(Succ(Succ(Succ(x197))))=x198 ==> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x197))))))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Succ(x197)))), Succ(Zero), Succ(Succ(x197))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x197))))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))) We simplified constraint (15) using rules (III), (IV) which results in the following new constraint: (19) (new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))) We simplified constraint (16) using rules (III), (IV) which results in the following new constraint: (20) (new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Succ(Succ(x190))))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x189))))))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS01(Succ(Succ(Succ(Succ(x190)))), Succ(Succ(Succ(Succ(x189)))), Succ(Succ(x190)), Succ(Succ(x189))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x189))))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x190))))))))) We simplified constraint (17) using rules (III), (IV) which results in the following new constraint: (21) (new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Succ(Succ(x194))))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS01(Succ(Succ(Succ(Succ(x194)))), Succ(Succ(Succ(Zero))), Succ(Succ(x194)), Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x194))))))))) We simplified constraint (18) using rules (I), (II), (IV) which results in the following new constraint: (22) (new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x197))))))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Succ(x197)))), Succ(Zero), Succ(Succ(x197))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x197))))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))) We simplified constraint (12) using rules (III), (IV), (VII) which results in the following new constraint: (23) (new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Succ(x175)))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS01(Succ(Succ(Succ(x175))), Succ(Succ(Zero)), Succ(x175), Zero))), Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Succ(x175)))))))) To summarize, we get the following constraints P__>=_ for the following pairs. *new_gcd0Gcd'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_primModNatS01(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_primModNatS01(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_primModNatS01(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(Zero))))))_>=_new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero)))) *(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_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero))))) *(new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(Succ(Succ(x63))))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x64))))))))_>=_new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(Succ(x63))))))), Neg(new_primModNatS01(Succ(Succ(Succ(Succ(x64)))), Succ(Succ(Succ(Succ(x63)))), Succ(Succ(x64)), Succ(Succ(x63)))))) *(new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x68))))))))_>=_new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(new_primModNatS01(Succ(Succ(Succ(Succ(x68)))), Succ(Succ(Succ(Zero))), Succ(Succ(x68)), Succ(Zero))))) *(new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Succ(x49)))))))_>=_new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(new_primModNatS01(Succ(Succ(Succ(x49))), Succ(Succ(Zero)), Succ(x49), Zero)))) *new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) *(new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x114))))))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Succ(x114)))), Succ(Zero), Succ(Succ(x114))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x114))))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))) *(new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Succ(x95)))))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Succ(x95))), Zero, Succ(x95)))), Neg(Succ(Succ(Succ(Succ(Succ(x95)))))), Pos(Succ(Succ(Succ(Succ(Zero))))))) *(new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero))), Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))))) *(new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))) *(new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(Succ(x107))))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x106))))))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS01(Succ(Succ(Succ(Succ(x107)))), Succ(Succ(Succ(Succ(x106)))), Succ(Succ(x107)), Succ(Succ(x106))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x106))))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x107))))))))) *(new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(Succ(x111))))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS01(Succ(Succ(Succ(Succ(x111)))), Succ(Succ(Succ(Zero))), Succ(Succ(x111)), Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x111))))))))) *(new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(x92)))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS01(Succ(Succ(Succ(x92))), Succ(Succ(Zero)), Succ(x92), Zero))), Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Succ(x92)))))))) *new_gcd0Gcd'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_primModNatS01(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_primModNatS01(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_primModNatS01(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(Zero))))))_>=_new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero)))) *(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_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero))))) *(new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(Succ(Succ(x146))))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x147))))))))_>=_new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Succ(Succ(x146))))))), Pos(new_primModNatS01(Succ(Succ(Succ(Succ(x147)))), Succ(Succ(Succ(Succ(x146)))), Succ(Succ(x147)), Succ(Succ(x146)))))) *(new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x151))))))))_>=_new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(new_primModNatS01(Succ(Succ(Succ(Succ(x151)))), Succ(Succ(Succ(Zero))), Succ(Succ(x151)), Succ(Zero))))) *(new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Succ(x132)))))))_>=_new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(new_primModNatS01(Succ(Succ(Succ(x132))), Succ(Succ(Zero)), Succ(x132), Zero)))) *new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) *(new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x197))))))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Succ(x197)))), Succ(Zero), Succ(Succ(x197))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x197))))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))) *(new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Succ(x178)))))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Succ(x178))), Zero, Succ(x178)))), Pos(Succ(Succ(Succ(Succ(Succ(x178)))))), Neg(Succ(Succ(Succ(Succ(Zero))))))) *(new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero))), Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))))) *(new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))) *(new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Succ(Succ(x190))))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x189))))))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS01(Succ(Succ(Succ(Succ(x190)))), Succ(Succ(Succ(Succ(x189)))), Succ(Succ(x190)), Succ(Succ(x189))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x189))))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x190))))))))) *(new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Succ(Succ(x194))))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS01(Succ(Succ(Succ(Succ(x194)))), Succ(Succ(Succ(Zero))), Succ(Succ(x194)), Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x194))))))))) *(new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Succ(x175)))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS01(Succ(Succ(Succ(x175))), Succ(Succ(Zero)), Succ(x175), Zero))), Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Succ(x175)))))))) The constraints for P_> respective P_bound are constructed from P__>=_ where we just replace every occurence of "t _>=_ s" in P__>=_ by "t > s" respective "t _>=_ c". Here c stands for the fresh constant used for P_bound. ---------------------------------------- (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_primModNatS01(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_primModNatS01(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_primModNatS01(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_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS01(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_primModNatS1(Succ(Succ(x0)), Zero) new_primMinusNatS2(Succ(x0), Zero) new_esEs0(Pos(Succ(x0))) new_primMinusNatS2(Zero, Zero) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) 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_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, 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_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 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_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_primMinusNatS0(vuz32000) -> Succ(vuz32000) 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_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_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) new_esEs(Integer(Neg(Zero))) -> True new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 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 The set Q consists of the following terms: new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primMinusNatS1 new_esEs(Integer(Pos(Zero))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_esEs(Integer(Neg(Succ(x0)))) new_primMinusNatS2(Succ(x0), Zero) new_primMinusNatS2(Zero, Zero) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Integer(x0), Integer(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primRemInt(Neg(x0), Neg(Succ(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_primModNatS01(x0, x1, Zero, Succ(x2)) new_esEs(Integer(Pos(Succ(x0)))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, 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_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 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_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_primMinusNatS0(vuz32000) -> Succ(vuz32000) 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_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_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) new_esEs(Integer(Neg(Zero))) -> True new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 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 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_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 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_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_primMinusNatS0(vuz32000) -> Succ(vuz32000) 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_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_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) new_esEs(Integer(Neg(Zero))) -> True new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 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 The set Q consists of the following terms: new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primMinusNatS1 new_esEs(Integer(Pos(Zero))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_esEs(Integer(Neg(Succ(x0)))) new_primMinusNatS2(Succ(x0), Zero) new_primMinusNatS2(Zero, Zero) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Integer(x0), Integer(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primRemInt(Neg(x0), Neg(Succ(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_primModNatS01(x0, x1, Zero, Succ(x2)) new_esEs(Integer(Pos(Succ(x0)))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, 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_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 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_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_primMinusNatS0(vuz32000) -> Succ(vuz32000) 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_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_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) new_esEs(Integer(Neg(Zero))) -> True new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 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 The set Q consists of the following terms: new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primMinusNatS1 new_esEs(Integer(Pos(Zero))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_esEs(Integer(Neg(Succ(x0)))) new_primMinusNatS2(Succ(x0), Zero) new_primMinusNatS2(Zero, Zero) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Integer(x0), Integer(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primRemInt(Neg(x0), Neg(Succ(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_primModNatS01(x0, x1, Zero, Succ(x2)) new_esEs(Integer(Pos(Succ(x0)))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, 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_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 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_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_primMinusNatS0(vuz32000) -> Succ(vuz32000) 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_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_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) new_esEs(Integer(Neg(Zero))) -> True new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 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 The set Q consists of the following terms: new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primMinusNatS1 new_esEs(Integer(Pos(Zero))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_esEs(Integer(Neg(Succ(x0)))) new_primMinusNatS2(Succ(x0), Zero) new_primMinusNatS2(Zero, Zero) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Integer(x0), Integer(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primRemInt(Neg(x0), Neg(Succ(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_primModNatS01(x0, x1, Zero, Succ(x2)) new_esEs(Integer(Pos(Succ(x0)))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, 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_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 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_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_primMinusNatS0(vuz32000) -> Succ(vuz32000) 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_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_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) new_esEs(Integer(Neg(Zero))) -> True new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 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 The set Q consists of the following terms: new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primMinusNatS1 new_esEs(Integer(Pos(Zero))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_esEs(Integer(Neg(Succ(x0)))) new_primMinusNatS2(Succ(x0), Zero) new_primMinusNatS2(Zero, Zero) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Integer(x0), Integer(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primRemInt(Neg(x0), Neg(Succ(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_primModNatS01(x0, x1, Zero, Succ(x2)) new_esEs(Integer(Pos(Succ(x0)))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, 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_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 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_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_primMinusNatS0(vuz32000) -> Succ(vuz32000) 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_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_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) new_esEs(Integer(Neg(Zero))) -> True new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 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 The set Q consists of the following terms: new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primMinusNatS1 new_esEs(Integer(Pos(Zero))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_esEs(Integer(Neg(Succ(x0)))) new_primMinusNatS2(Succ(x0), Zero) new_primMinusNatS2(Zero, Zero) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Integer(x0), Integer(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primRemInt(Neg(x0), Neg(Succ(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_primModNatS01(x0, x1, Zero, Succ(x2)) new_esEs(Integer(Pos(Succ(x0)))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, 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_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 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_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_primMinusNatS0(vuz32000) -> Succ(vuz32000) 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_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_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) new_esEs(Integer(Neg(Zero))) -> True new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 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 The set Q consists of the following terms: new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primMinusNatS1 new_esEs(Integer(Pos(Zero))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_esEs(Integer(Neg(Succ(x0)))) new_primMinusNatS2(Succ(x0), Zero) new_primMinusNatS2(Zero, Zero) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Integer(x0), Integer(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primRemInt(Neg(x0), Neg(Succ(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_primModNatS01(x0, x1, Zero, Succ(x2)) new_esEs(Integer(Pos(Succ(x0)))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, 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_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 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_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_primMinusNatS0(vuz32000) -> Succ(vuz32000) 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_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_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) new_esEs(Integer(Neg(Zero))) -> True new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 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 The set Q consists of the following terms: new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primMinusNatS1 new_esEs(Integer(Pos(Zero))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_esEs(Integer(Neg(Succ(x0)))) new_primMinusNatS2(Succ(x0), Zero) new_primMinusNatS2(Zero, Zero) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Integer(x0), Integer(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primRemInt(Neg(x0), Neg(Succ(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_primModNatS01(x0, x1, Zero, Succ(x2)) new_esEs(Integer(Pos(Succ(x0)))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, 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_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 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_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_primMinusNatS0(vuz32000) -> Succ(vuz32000) 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_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_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) new_esEs(Integer(Neg(Zero))) -> True new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 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 The set Q consists of the following terms: new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primMinusNatS1 new_esEs(Integer(Pos(Zero))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_esEs(Integer(Neg(Succ(x0)))) new_primMinusNatS2(Succ(x0), Zero) new_primMinusNatS2(Zero, Zero) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Integer(x0), Integer(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primRemInt(Neg(x0), Neg(Succ(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_primModNatS01(x0, x1, Zero, Succ(x2)) new_esEs(Integer(Pos(Succ(x0)))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, 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_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 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_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_primMinusNatS0(vuz32000) -> Succ(vuz32000) 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_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_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) new_esEs(Integer(Neg(Zero))) -> True new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 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 The set Q consists of the following terms: new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primMinusNatS1 new_esEs(Integer(Pos(Zero))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_esEs(Integer(Neg(Succ(x0)))) new_primMinusNatS2(Succ(x0), Zero) new_primMinusNatS2(Zero, Zero) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Integer(x0), Integer(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primRemInt(Neg(x0), Neg(Succ(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_primModNatS01(x0, x1, Zero, Succ(x2)) new_esEs(Integer(Pos(Succ(x0)))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, 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_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 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_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_primMinusNatS0(vuz32000) -> Succ(vuz32000) 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_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_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) new_esEs(Integer(Neg(Zero))) -> True new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 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 The set Q consists of the following terms: new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primMinusNatS1 new_esEs(Integer(Pos(Zero))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_esEs(Integer(Neg(Succ(x0)))) new_primMinusNatS2(Succ(x0), Zero) new_primMinusNatS2(Zero, Zero) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Integer(x0), Integer(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primRemInt(Neg(x0), Neg(Succ(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_primModNatS01(x0, x1, Zero, Succ(x2)) new_esEs(Integer(Pos(Succ(x0)))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, 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_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 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_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_primMinusNatS0(vuz32000) -> Succ(vuz32000) 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_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_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) new_esEs(Integer(Neg(Zero))) -> True new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 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 The set Q consists of the following terms: new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primMinusNatS1 new_esEs(Integer(Pos(Zero))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_esEs(Integer(Neg(Succ(x0)))) new_primMinusNatS2(Succ(x0), Zero) new_primMinusNatS2(Zero, Zero) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Integer(x0), Integer(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primRemInt(Neg(x0), Neg(Succ(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_primModNatS01(x0, x1, Zero, Succ(x2)) new_esEs(Integer(Pos(Succ(x0)))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, 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(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS01(x0, x1, x0, x1)))), Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))),new_gcd0Gcd'(Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS01(x0, x1, x0, x1)))), Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0)))))) (new_gcd0Gcd'(Integer(Neg(Succ(x0))), Integer(Pos(Zero))) -> new_gcd0Gcd'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))))) ---------------------------------------- (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(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS01(x0, x1, x0, x1)))), Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Neg(Succ(x0))), Integer(Pos(Zero))) -> new_gcd0Gcd'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)))) The TRS R consists of the following rules: new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 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_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_primMinusNatS0(vuz32000) -> Succ(vuz32000) 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_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_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) new_esEs(Integer(Neg(Zero))) -> True new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 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 The set Q consists of the following terms: new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primMinusNatS1 new_esEs(Integer(Pos(Zero))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_esEs(Integer(Neg(Succ(x0)))) new_primMinusNatS2(Succ(x0), Zero) new_primMinusNatS2(Zero, Zero) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Integer(x0), Integer(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primRemInt(Neg(x0), Neg(Succ(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_primModNatS01(x0, x1, Zero, Succ(x2)) new_esEs(Integer(Pos(Succ(x0)))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, 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(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS01(x0, x1, x0, x1)))), Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(new_primMinusNatS1, 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_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 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_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_primMinusNatS0(vuz32000) -> Succ(vuz32000) 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_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_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) new_esEs(Integer(Neg(Zero))) -> True new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 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 The set Q consists of the following terms: new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primMinusNatS1 new_esEs(Integer(Pos(Zero))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_esEs(Integer(Neg(Succ(x0)))) new_primMinusNatS2(Succ(x0), Zero) new_primMinusNatS2(Zero, Zero) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Integer(x0), Integer(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primRemInt(Neg(x0), Neg(Succ(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_primModNatS01(x0, x1, Zero, Succ(x2)) new_esEs(Integer(Pos(Succ(x0)))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, 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(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS01(x0, x1, x0, x1)))), Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'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(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_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 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_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_primMinusNatS0(vuz32000) -> Succ(vuz32000) 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_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_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) new_esEs(Integer(Neg(Zero))) -> True new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 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 The set Q consists of the following terms: new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primMinusNatS1 new_esEs(Integer(Pos(Zero))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_esEs(Integer(Neg(Succ(x0)))) new_primMinusNatS2(Succ(x0), Zero) new_primMinusNatS2(Zero, Zero) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Integer(x0), Integer(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primRemInt(Neg(x0), Neg(Succ(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_primModNatS01(x0, x1, Zero, Succ(x2)) new_esEs(Integer(Pos(Succ(x0)))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, 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(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS01(x0, x1, x0, x1)))), Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'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(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_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 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_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_primMinusNatS0(vuz32000) -> Succ(vuz32000) 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_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_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) new_esEs(Integer(Neg(Zero))) -> True new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 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 The set Q consists of the following terms: new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primMinusNatS1 new_esEs(Integer(Pos(Zero))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_esEs(Integer(Neg(Succ(x0)))) new_primMinusNatS2(Succ(x0), Zero) new_primMinusNatS2(Zero, Zero) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Integer(x0), Integer(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primRemInt(Neg(x0), Neg(Succ(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_primModNatS01(x0, x1, Zero, Succ(x2)) new_esEs(Integer(Pos(Succ(x0)))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, 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_primModNatS01(x0, x1, x0, x1)))), Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'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_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 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_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_primMinusNatS0(vuz32000) -> Succ(vuz32000) 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_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_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) new_esEs(Integer(Neg(Zero))) -> True new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 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 The set Q consists of the following terms: new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primMinusNatS1 new_esEs(Integer(Pos(Zero))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_esEs(Integer(Neg(Succ(x0)))) new_primMinusNatS2(Succ(x0), Zero) new_primMinusNatS2(Zero, Zero) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Integer(x0), Integer(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primRemInt(Neg(x0), Neg(Succ(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_primModNatS01(x0, x1, Zero, Succ(x2)) new_esEs(Integer(Pos(Succ(x0)))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, 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_primModNatS01(x0, x1, x0, x1)))), Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'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_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 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_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_primMinusNatS0(vuz32000) -> Succ(vuz32000) 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_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_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) new_esEs(Integer(Neg(Zero))) -> True new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 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 The set Q consists of the following terms: new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primMinusNatS1 new_esEs(Integer(Pos(Zero))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_esEs(Integer(Neg(Succ(x0)))) new_primMinusNatS2(Succ(x0), Zero) new_primMinusNatS2(Zero, Zero) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Integer(x0), Integer(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primRemInt(Neg(x0), Neg(Succ(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_primModNatS01(x0, x1, Zero, Succ(x2)) new_esEs(Integer(Pos(Succ(x0)))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, 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_primModNatS01(x0, x1, x0, x1)))), Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'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_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 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_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_primMinusNatS0(vuz32000) -> Succ(vuz32000) 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_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_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) new_esEs(Integer(Neg(Zero))) -> True new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 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 The set Q consists of the following terms: new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primMinusNatS1 new_esEs(Integer(Pos(Zero))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_esEs(Integer(Neg(Succ(x0)))) new_primMinusNatS2(Succ(x0), Zero) new_primMinusNatS2(Zero, Zero) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Integer(x0), Integer(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primRemInt(Neg(x0), Neg(Succ(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_primModNatS01(x0, x1, Zero, Succ(x2)) new_esEs(Integer(Pos(Succ(x0)))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, 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(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS01(x0, x1, x0, x1)))), Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))),new_gcd0Gcd'(Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS01(x0, x1, x0, x1)))), Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0)))))) (new_gcd0Gcd'(Integer(Pos(Succ(x0))), Integer(Pos(Zero))) -> new_gcd0Gcd'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))))) ---------------------------------------- (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_primModNatS01(x0, x1, x0, x1)))), Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'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(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS01(x0, x1, x0, x1)))), Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Pos(Succ(x0))), Integer(Pos(Zero))) -> new_gcd0Gcd'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)))) The TRS R consists of the following rules: new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 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_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_primMinusNatS0(vuz32000) -> Succ(vuz32000) 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_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_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) new_esEs(Integer(Neg(Zero))) -> True new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 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 The set Q consists of the following terms: new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primMinusNatS1 new_esEs(Integer(Pos(Zero))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_esEs(Integer(Neg(Succ(x0)))) new_primMinusNatS2(Succ(x0), Zero) new_primMinusNatS2(Zero, Zero) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Integer(x0), Integer(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primRemInt(Neg(x0), Neg(Succ(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_primModNatS01(x0, x1, Zero, Succ(x2)) new_esEs(Integer(Pos(Succ(x0)))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, 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_primModNatS01(x0, x1, x0, x1)))), Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'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(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS01(x0, x1, x0, x1)))), Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(new_primMinusNatS1, 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_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 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_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_primMinusNatS0(vuz32000) -> Succ(vuz32000) 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_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_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) new_esEs(Integer(Neg(Zero))) -> True new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 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 The set Q consists of the following terms: new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primMinusNatS1 new_esEs(Integer(Pos(Zero))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_esEs(Integer(Neg(Succ(x0)))) new_primMinusNatS2(Succ(x0), Zero) new_primMinusNatS2(Zero, Zero) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Integer(x0), Integer(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primRemInt(Neg(x0), Neg(Succ(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_primModNatS01(x0, x1, Zero, Succ(x2)) new_esEs(Integer(Pos(Succ(x0)))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, 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_primModNatS01(x0, x1, x0, x1)))), Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'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(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS01(x0, x1, x0, x1)))), Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'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(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_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 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_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_primMinusNatS0(vuz32000) -> Succ(vuz32000) 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_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_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) new_esEs(Integer(Neg(Zero))) -> True new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 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 The set Q consists of the following terms: new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primMinusNatS1 new_esEs(Integer(Pos(Zero))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_esEs(Integer(Neg(Succ(x0)))) new_primMinusNatS2(Succ(x0), Zero) new_primMinusNatS2(Zero, Zero) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Integer(x0), Integer(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primRemInt(Neg(x0), Neg(Succ(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_primModNatS01(x0, x1, Zero, Succ(x2)) new_esEs(Integer(Pos(Succ(x0)))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, 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_primModNatS01(x0, x1, x0, x1)))), Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'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_primModNatS01(x0, x1, x0, x1)))), Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'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(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_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 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_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_primMinusNatS0(vuz32000) -> Succ(vuz32000) 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_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_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) new_esEs(Integer(Neg(Zero))) -> True new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 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 The set Q consists of the following terms: new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primMinusNatS1 new_esEs(Integer(Pos(Zero))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_esEs(Integer(Neg(Succ(x0)))) new_primMinusNatS2(Succ(x0), Zero) new_primMinusNatS2(Zero, Zero) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Integer(x0), Integer(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primRemInt(Neg(x0), Neg(Succ(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_primModNatS01(x0, x1, Zero, Succ(x2)) new_esEs(Integer(Pos(Succ(x0)))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, 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_primModNatS01(x0, x1, x0, x1)))), Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'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_primModNatS01(x0, x1, x0, x1)))), Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'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_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 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_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_primMinusNatS0(vuz32000) -> Succ(vuz32000) 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_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_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) new_esEs(Integer(Neg(Zero))) -> True new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 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 The set Q consists of the following terms: new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primMinusNatS1 new_esEs(Integer(Pos(Zero))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_esEs(Integer(Neg(Succ(x0)))) new_primMinusNatS2(Succ(x0), Zero) new_primMinusNatS2(Zero, Zero) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Integer(x0), Integer(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primRemInt(Neg(x0), Neg(Succ(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_primModNatS01(x0, x1, Zero, Succ(x2)) new_esEs(Integer(Pos(Succ(x0)))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, 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_primModNatS01(x0, x1, x0, x1)))), Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'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_primModNatS01(x0, x1, x0, x1)))), Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'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_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 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_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_primMinusNatS0(vuz32000) -> Succ(vuz32000) 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_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_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) new_esEs(Integer(Neg(Zero))) -> True new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 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 The set Q consists of the following terms: new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primMinusNatS1 new_esEs(Integer(Pos(Zero))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_esEs(Integer(Neg(Succ(x0)))) new_primMinusNatS2(Succ(x0), Zero) new_primMinusNatS2(Zero, Zero) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Integer(x0), Integer(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primRemInt(Neg(x0), Neg(Succ(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_primModNatS01(x0, x1, Zero, Succ(x2)) new_esEs(Integer(Pos(Succ(x0)))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, 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_primModNatS01(x0, x1, x0, x1)))), Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'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_primModNatS01(x0, x1, x0, x1)))), Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'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_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 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_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_primMinusNatS0(vuz32000) -> Succ(vuz32000) 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_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_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) new_esEs(Integer(Neg(Zero))) -> True new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 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 The set Q consists of the following terms: new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primMinusNatS1 new_esEs(Integer(Pos(Zero))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_esEs(Integer(Neg(Succ(x0)))) new_primMinusNatS2(Succ(x0), Zero) new_primMinusNatS2(Zero, Zero) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Integer(x0), Integer(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primRemInt(Neg(x0), Neg(Succ(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_primModNatS01(x0, x1, Zero, Succ(x2)) new_esEs(Integer(Pos(Succ(x0)))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, 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(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS01(x0, x1, x0, x1)))), Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))),new_gcd0Gcd'(Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS01(x0, x1, x0, x1)))), Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0)))))) (new_gcd0Gcd'(Integer(Pos(Succ(x0))), Integer(Neg(Zero))) -> new_gcd0Gcd'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))))) ---------------------------------------- (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_primModNatS01(x0, x1, x0, x1)))), Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'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_primModNatS01(x0, x1, x0, x1)))), Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'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(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS01(x0, x1, x0, x1)))), Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Pos(Succ(x0))), Integer(Neg(Zero))) -> new_gcd0Gcd'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)))) The TRS R consists of the following rules: new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 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_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_primMinusNatS0(vuz32000) -> Succ(vuz32000) 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_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_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) new_esEs(Integer(Neg(Zero))) -> True new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 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 The set Q consists of the following terms: new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primMinusNatS1 new_esEs(Integer(Pos(Zero))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_esEs(Integer(Neg(Succ(x0)))) new_primMinusNatS2(Succ(x0), Zero) new_primMinusNatS2(Zero, Zero) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Integer(x0), Integer(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primRemInt(Neg(x0), Neg(Succ(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_primModNatS01(x0, x1, Zero, Succ(x2)) new_esEs(Integer(Pos(Succ(x0)))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, 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_primModNatS01(x0, x1, x0, x1)))), Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'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_primModNatS01(x0, x1, x0, x1)))), Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'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(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS01(x0, x1, x0, x1)))), Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(new_primMinusNatS1, 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_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 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_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_primMinusNatS0(vuz32000) -> Succ(vuz32000) 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_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_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) new_esEs(Integer(Neg(Zero))) -> True new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 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 The set Q consists of the following terms: new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primMinusNatS1 new_esEs(Integer(Pos(Zero))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_esEs(Integer(Neg(Succ(x0)))) new_primMinusNatS2(Succ(x0), Zero) new_primMinusNatS2(Zero, Zero) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Integer(x0), Integer(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primRemInt(Neg(x0), Neg(Succ(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_primModNatS01(x0, x1, Zero, Succ(x2)) new_esEs(Integer(Pos(Succ(x0)))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, 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_primModNatS01(x0, x1, x0, x1)))), Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'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_primModNatS01(x0, x1, x0, x1)))), Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'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(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS01(x0, x1, x0, x1)))), Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'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(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_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 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_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_primMinusNatS0(vuz32000) -> Succ(vuz32000) 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_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_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) new_esEs(Integer(Neg(Zero))) -> True new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 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 The set Q consists of the following terms: new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primMinusNatS1 new_esEs(Integer(Pos(Zero))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_esEs(Integer(Neg(Succ(x0)))) new_primMinusNatS2(Succ(x0), Zero) new_primMinusNatS2(Zero, Zero) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Integer(x0), Integer(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primRemInt(Neg(x0), Neg(Succ(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_primModNatS01(x0, x1, Zero, Succ(x2)) new_esEs(Integer(Pos(Succ(x0)))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, 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_primModNatS01(x0, x1, x0, x1)))), Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'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_primModNatS01(x0, x1, x0, x1)))), Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'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_primModNatS01(x0, x1, x0, x1)))), Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'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(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_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 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_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_primMinusNatS0(vuz32000) -> Succ(vuz32000) 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_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_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) new_esEs(Integer(Neg(Zero))) -> True new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 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 The set Q consists of the following terms: new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primMinusNatS1 new_esEs(Integer(Pos(Zero))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_esEs(Integer(Neg(Succ(x0)))) new_primMinusNatS2(Succ(x0), Zero) new_primMinusNatS2(Zero, Zero) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Integer(x0), Integer(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primRemInt(Neg(x0), Neg(Succ(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_primModNatS01(x0, x1, Zero, Succ(x2)) new_esEs(Integer(Pos(Succ(x0)))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, 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_primModNatS01(x0, x1, x0, x1)))), Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'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_primModNatS01(x0, x1, x0, x1)))), Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'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_primModNatS01(x0, x1, x0, x1)))), Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'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_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 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_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_primMinusNatS0(vuz32000) -> Succ(vuz32000) 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_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_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) new_esEs(Integer(Neg(Zero))) -> True new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 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 The set Q consists of the following terms: new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primMinusNatS1 new_esEs(Integer(Pos(Zero))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_esEs(Integer(Neg(Succ(x0)))) new_primMinusNatS2(Succ(x0), Zero) new_primMinusNatS2(Zero, Zero) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Integer(x0), Integer(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primRemInt(Neg(x0), Neg(Succ(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_primModNatS01(x0, x1, Zero, Succ(x2)) new_esEs(Integer(Pos(Succ(x0)))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, 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_primModNatS01(x0, x1, x0, x1)))), Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'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_primModNatS01(x0, x1, x0, x1)))), Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'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_primModNatS01(x0, x1, x0, x1)))), Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'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_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 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_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_primMinusNatS0(vuz32000) -> Succ(vuz32000) 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_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_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) new_esEs(Integer(Neg(Zero))) -> True new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 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 The set Q consists of the following terms: new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primMinusNatS1 new_esEs(Integer(Pos(Zero))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_esEs(Integer(Neg(Succ(x0)))) new_primMinusNatS2(Succ(x0), Zero) new_primMinusNatS2(Zero, Zero) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Integer(x0), Integer(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primRemInt(Neg(x0), Neg(Succ(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_primModNatS01(x0, x1, Zero, Succ(x2)) new_esEs(Integer(Pos(Succ(x0)))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, 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_primModNatS01(x0, x1, x0, x1)))), Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'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_primModNatS01(x0, x1, x0, x1)))), Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'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_primModNatS01(x0, x1, x0, x1)))), Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'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_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 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_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_primMinusNatS0(vuz32000) -> Succ(vuz32000) 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_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_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) new_esEs(Integer(Neg(Zero))) -> True new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 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 The set Q consists of the following terms: new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primMinusNatS1 new_esEs(Integer(Pos(Zero))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_esEs(Integer(Neg(Succ(x0)))) new_primMinusNatS2(Succ(x0), Zero) new_primMinusNatS2(Zero, Zero) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Integer(x0), Integer(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primRemInt(Neg(x0), Neg(Succ(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_primModNatS01(x0, x1, Zero, Succ(x2)) new_esEs(Integer(Pos(Succ(x0)))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, 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(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS01(x0, x1, x0, x1)))), Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))),new_gcd0Gcd'(Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS01(x0, x1, x0, x1)))), Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0)))))) (new_gcd0Gcd'(Integer(Neg(Succ(x0))), Integer(Neg(Zero))) -> new_gcd0Gcd'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))))) ---------------------------------------- (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_primModNatS01(x0, x1, x0, x1)))), Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'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_primModNatS01(x0, x1, x0, x1)))), Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'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_primModNatS01(x0, x1, x0, x1)))), Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'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(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS01(x0, x1, x0, x1)))), Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Neg(Succ(x0))), Integer(Neg(Zero))) -> new_gcd0Gcd'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)))) The TRS R consists of the following rules: new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 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_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_primMinusNatS0(vuz32000) -> Succ(vuz32000) 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_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_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) new_esEs(Integer(Neg(Zero))) -> True new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 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 The set Q consists of the following terms: new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primMinusNatS1 new_esEs(Integer(Pos(Zero))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_esEs(Integer(Neg(Succ(x0)))) new_primMinusNatS2(Succ(x0), Zero) new_primMinusNatS2(Zero, Zero) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Integer(x0), Integer(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primRemInt(Neg(x0), Neg(Succ(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_primModNatS01(x0, x1, Zero, Succ(x2)) new_esEs(Integer(Pos(Succ(x0)))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, 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_primModNatS01(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_primModNatS01(x0, x1, x0, x1)))), Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'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_primModNatS01(x0, x1, x0, x1)))), Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'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(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS01(x0, x1, x0, x1)))), Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(new_primMinusNatS1, 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_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 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_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_primMinusNatS0(vuz32000) -> Succ(vuz32000) 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_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_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) new_esEs(Integer(Neg(Zero))) -> True new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 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 The set Q consists of the following terms: new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primMinusNatS1 new_esEs(Integer(Pos(Zero))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_esEs(Integer(Neg(Succ(x0)))) new_primMinusNatS2(Succ(x0), Zero) new_primMinusNatS2(Zero, Zero) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Integer(x0), Integer(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primRemInt(Neg(x0), Neg(Succ(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_primModNatS01(x0, x1, Zero, Succ(x2)) new_esEs(Integer(Pos(Succ(x0)))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, 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_primModNatS01(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_primModNatS01(x0, x1, x0, x1)))), Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'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_primModNatS01(x0, x1, x0, x1)))), Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'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(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS01(x0, x1, x0, x1)))), Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'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(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_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 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_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_primMinusNatS0(vuz32000) -> Succ(vuz32000) 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_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_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) new_esEs(Integer(Neg(Zero))) -> True new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 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 The set Q consists of the following terms: new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primMinusNatS1 new_esEs(Integer(Pos(Zero))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_esEs(Integer(Neg(Succ(x0)))) new_primMinusNatS2(Succ(x0), Zero) new_primMinusNatS2(Zero, Zero) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Integer(x0), Integer(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primRemInt(Neg(x0), Neg(Succ(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_primModNatS01(x0, x1, Zero, Succ(x2)) new_esEs(Integer(Pos(Succ(x0)))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, 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_primModNatS01(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_primModNatS01(x0, x1, x0, x1)))), Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'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_primModNatS01(x0, x1, x0, x1)))), Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'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_primModNatS01(x0, x1, x0, x1)))), Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'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(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_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 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_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_primMinusNatS0(vuz32000) -> Succ(vuz32000) 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_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_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) new_esEs(Integer(Neg(Zero))) -> True new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 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 The set Q consists of the following terms: new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primMinusNatS1 new_esEs(Integer(Pos(Zero))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_esEs(Integer(Neg(Succ(x0)))) new_primMinusNatS2(Succ(x0), Zero) new_primMinusNatS2(Zero, Zero) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Integer(x0), Integer(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primRemInt(Neg(x0), Neg(Succ(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_primModNatS01(x0, x1, Zero, Succ(x2)) new_esEs(Integer(Pos(Succ(x0)))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, 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_primModNatS01(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_primModNatS01(x0, x1, x0, x1)))), Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'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_primModNatS01(x0, x1, x0, x1)))), Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'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_primModNatS01(x0, x1, x0, x1)))), Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'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_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 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_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_primMinusNatS0(vuz32000) -> Succ(vuz32000) 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_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_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) new_esEs(Integer(Neg(Zero))) -> True new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 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 The set Q consists of the following terms: new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primMinusNatS1 new_esEs(Integer(Pos(Zero))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_esEs(Integer(Neg(Succ(x0)))) new_primMinusNatS2(Succ(x0), Zero) new_primMinusNatS2(Zero, Zero) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Integer(x0), Integer(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primRemInt(Neg(x0), Neg(Succ(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_primModNatS01(x0, x1, Zero, Succ(x2)) new_esEs(Integer(Pos(Succ(x0)))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, 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_primModNatS01(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_primModNatS01(x0, x1, x0, x1)))), Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'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_primModNatS01(x0, x1, x0, x1)))), Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'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_primModNatS01(x0, x1, x0, x1)))), Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'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_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 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_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_primMinusNatS0(vuz32000) -> Succ(vuz32000) 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_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_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) new_esEs(Integer(Neg(Zero))) -> True new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 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 The set Q consists of the following terms: new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primMinusNatS1 new_esEs(Integer(Pos(Zero))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_esEs(Integer(Neg(Succ(x0)))) new_primMinusNatS2(Succ(x0), Zero) new_primMinusNatS2(Zero, Zero) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Integer(x0), Integer(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primRemInt(Neg(x0), Neg(Succ(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_primModNatS01(x0, x1, Zero, Succ(x2)) new_esEs(Integer(Pos(Succ(x0)))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, 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_primModNatS01(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_primModNatS01(x0, x1, x0, x1)))), Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'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_primModNatS01(x0, x1, x0, x1)))), Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'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_primModNatS01(x0, x1, x0, x1)))), Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'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_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 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_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_primMinusNatS0(vuz32000) -> Succ(vuz32000) 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_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_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) new_esEs(Integer(Neg(Zero))) -> True new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 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 The set Q consists of the following terms: new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primMinusNatS1 new_esEs(Integer(Pos(Zero))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_esEs(Integer(Neg(Succ(x0)))) new_primMinusNatS2(Succ(x0), Zero) new_primMinusNatS2(Zero, Zero) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Integer(x0), Integer(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primRemInt(Neg(x0), Neg(Succ(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_primModNatS01(x0, x1, Zero, Succ(x2)) new_esEs(Integer(Pos(Succ(x0)))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, 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_primModNatS01(x0, x1, x0, x1)))), Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) at position [0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))),new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2))))))) (new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'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_primModNatS02(Zero, Zero)))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))),new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS02(Zero, Zero)))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero)))))) (new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS02(Succ(x2), Zero)))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))),new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS02(Succ(x2), Zero)))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2))))))) ---------------------------------------- (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_primModNatS01(x0, x1, x0, x1)))), Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'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_primModNatS01(x0, x1, x0, x1)))), Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'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_primModNatS01(x0, x1, x0, x1)))), Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'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_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'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_primModNatS02(Zero, Zero)))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS02(Succ(x2), Zero)))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) The TRS R consists of the following rules: new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 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_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_primMinusNatS0(vuz32000) -> Succ(vuz32000) 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_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_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) new_esEs(Integer(Neg(Zero))) -> True new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 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 The set Q consists of the following terms: new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primMinusNatS1 new_esEs(Integer(Pos(Zero))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_esEs(Integer(Neg(Succ(x0)))) new_primMinusNatS2(Succ(x0), Zero) new_primMinusNatS2(Zero, Zero) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Integer(x0), Integer(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primRemInt(Neg(x0), Neg(Succ(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_primModNatS01(x0, x1, Zero, Succ(x2)) new_esEs(Integer(Pos(Succ(x0)))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, 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(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)))))) ---------------------------------------- (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_primModNatS01(x0, x1, x0, x1)))), Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'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_primModNatS01(x0, x1, x0, x1)))), Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'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_primModNatS01(x0, x1, x0, x1)))), Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'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_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS02(Zero, Zero)))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS02(Succ(x2), Zero)))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'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_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 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_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_primMinusNatS0(vuz32000) -> Succ(vuz32000) 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_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_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) new_esEs(Integer(Neg(Zero))) -> True new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 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 The set Q consists of the following terms: new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primMinusNatS1 new_esEs(Integer(Pos(Zero))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_esEs(Integer(Neg(Succ(x0)))) new_primMinusNatS2(Succ(x0), Zero) new_primMinusNatS2(Zero, Zero) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Integer(x0), Integer(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primRemInt(Neg(x0), Neg(Succ(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_primModNatS01(x0, x1, Zero, Succ(x2)) new_esEs(Integer(Pos(Succ(x0)))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, 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(Zero)))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS02(Zero, Zero)))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'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)))))) ---------------------------------------- (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_primModNatS01(x0, x1, x0, x1)))), Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'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_primModNatS01(x0, x1, x0, x1)))), Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'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_primModNatS01(x0, x1, x0, x1)))), Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'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_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS02(Succ(x2), Zero)))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'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_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 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_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_primMinusNatS0(vuz32000) -> Succ(vuz32000) 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_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_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) new_esEs(Integer(Neg(Zero))) -> True new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 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 The set Q consists of the following terms: new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primMinusNatS1 new_esEs(Integer(Pos(Zero))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_esEs(Integer(Neg(Succ(x0)))) new_primMinusNatS2(Succ(x0), Zero) new_primMinusNatS2(Zero, Zero) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Integer(x0), Integer(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primRemInt(Neg(x0), Neg(Succ(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_primModNatS01(x0, x1, Zero, Succ(x2)) new_esEs(Integer(Pos(Succ(x0)))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, 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(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS02(Succ(x2), Zero)))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'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))))))) ---------------------------------------- (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_primModNatS01(x0, x1, x0, x1)))), Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'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_primModNatS01(x0, x1, x0, x1)))), Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'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_primModNatS01(x0, x1, x0, x1)))), Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'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_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'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(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_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 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_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_primMinusNatS0(vuz32000) -> Succ(vuz32000) 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_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_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) new_esEs(Integer(Neg(Zero))) -> True new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 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 The set Q consists of the following terms: new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primMinusNatS1 new_esEs(Integer(Pos(Zero))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_esEs(Integer(Neg(Succ(x0)))) new_primMinusNatS2(Succ(x0), Zero) new_primMinusNatS2(Zero, Zero) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Integer(x0), Integer(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primRemInt(Neg(x0), Neg(Succ(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_primModNatS01(x0, x1, Zero, Succ(x2)) new_esEs(Integer(Pos(Succ(x0)))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, 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(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)))))) ---------------------------------------- (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_primModNatS01(x0, x1, x0, x1)))), Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'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_primModNatS01(x0, x1, x0, x1)))), Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'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_primModNatS01(x0, x1, x0, x1)))), Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'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_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'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(Succ(x2)), Succ(Zero)), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'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_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 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_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_primMinusNatS0(vuz32000) -> Succ(vuz32000) 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_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_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) new_esEs(Integer(Neg(Zero))) -> True new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 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 The set Q consists of the following terms: new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primMinusNatS1 new_esEs(Integer(Pos(Zero))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_esEs(Integer(Neg(Succ(x0)))) new_primMinusNatS2(Succ(x0), Zero) new_primMinusNatS2(Zero, Zero) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Integer(x0), Integer(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primRemInt(Neg(x0), Neg(Succ(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_primModNatS01(x0, x1, Zero, Succ(x2)) new_esEs(Integer(Pos(Succ(x0)))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, 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(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))))))) ---------------------------------------- (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_primModNatS01(x0, x1, x0, x1)))), Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'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_primModNatS01(x0, x1, x0, x1)))), Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'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_primModNatS01(x0, x1, x0, x1)))), Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'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_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'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(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_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 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_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_primMinusNatS0(vuz32000) -> Succ(vuz32000) 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_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_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) new_esEs(Integer(Neg(Zero))) -> True new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 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 The set Q consists of the following terms: new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primMinusNatS1 new_esEs(Integer(Pos(Zero))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_esEs(Integer(Neg(Succ(x0)))) new_primMinusNatS2(Succ(x0), Zero) new_primMinusNatS2(Zero, Zero) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Integer(x0), Integer(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primRemInt(Neg(x0), Neg(Succ(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_primModNatS01(x0, x1, Zero, Succ(x2)) new_esEs(Integer(Pos(Succ(x0)))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, 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(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)))))) ---------------------------------------- (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_primModNatS01(x0, x1, x0, x1)))), Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'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_primModNatS01(x0, x1, x0, x1)))), Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'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_primModNatS01(x0, x1, x0, x1)))), Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'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_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'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(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_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 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_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_primMinusNatS0(vuz32000) -> Succ(vuz32000) 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_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_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) new_esEs(Integer(Neg(Zero))) -> True new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 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 The set Q consists of the following terms: new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primMinusNatS1 new_esEs(Integer(Pos(Zero))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_esEs(Integer(Neg(Succ(x0)))) new_primMinusNatS2(Succ(x0), Zero) new_primMinusNatS2(Zero, Zero) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Integer(x0), Integer(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primRemInt(Neg(x0), Neg(Succ(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_primModNatS01(x0, x1, Zero, Succ(x2)) new_esEs(Integer(Pos(Succ(x0)))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, 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(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))))))) ---------------------------------------- (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_primModNatS01(x0, x1, x0, x1)))), Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'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_primModNatS01(x0, x1, x0, x1)))), Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'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_primModNatS01(x0, x1, x0, x1)))), Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'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_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'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(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_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 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_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_primMinusNatS0(vuz32000) -> Succ(vuz32000) 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_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_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) new_esEs(Integer(Neg(Zero))) -> True new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 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 The set Q consists of the following terms: new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primMinusNatS1 new_esEs(Integer(Pos(Zero))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_esEs(Integer(Neg(Succ(x0)))) new_primMinusNatS2(Succ(x0), Zero) new_primMinusNatS2(Zero, Zero) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Integer(x0), Integer(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primRemInt(Neg(x0), Neg(Succ(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_primModNatS01(x0, x1, Zero, Succ(x2)) new_esEs(Integer(Pos(Succ(x0)))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, 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_primModNatS01(x0, x1, x0, x1)))), Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'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_primModNatS01(x0, x1, x0, x1)))), Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'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_primModNatS01(x0, x1, x0, x1)))), Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'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_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'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_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 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_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_primMinusNatS0(vuz32000) -> Succ(vuz32000) 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_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_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) new_esEs(Integer(Neg(Zero))) -> True new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 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 The set Q consists of the following terms: new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primMinusNatS1 new_esEs(Integer(Pos(Zero))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_esEs(Integer(Neg(Succ(x0)))) new_primMinusNatS2(Succ(x0), Zero) new_primMinusNatS2(Zero, Zero) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Integer(x0), Integer(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primRemInt(Neg(x0), Neg(Succ(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_primModNatS01(x0, x1, Zero, Succ(x2)) new_esEs(Integer(Pos(Succ(x0)))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, 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_primModNatS01(x0, x1, x0, x1)))), Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'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_primModNatS01(x0, x1, x0, x1)))), Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'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_primModNatS01(x0, x1, x0, x1)))), Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'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_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'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_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 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_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_primMinusNatS0(vuz32000) -> Succ(vuz32000) 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_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_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) new_esEs(Integer(Neg(Zero))) -> True new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 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 The set Q consists of the following terms: new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primMinusNatS1 new_esEs(Integer(Pos(Zero))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_esEs(Integer(Neg(Succ(x0)))) new_primMinusNatS2(Succ(x0), Zero) new_primMinusNatS2(Zero, Zero) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Integer(x0), Integer(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primRemInt(Neg(x0), Neg(Succ(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_primModNatS01(x0, x1, Zero, Succ(x2)) new_esEs(Integer(Pos(Succ(x0)))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, 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_primModNatS01(x0, x1, x0, x1)))), Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'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_primModNatS01(x0, x1, x0, x1)))), Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'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_primModNatS01(x0, x1, x0, x1)))), Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'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_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'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_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 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_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_primMinusNatS0(vuz32000) -> Succ(vuz32000) 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_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_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) new_esEs(Integer(Neg(Zero))) -> True new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 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 The set Q consists of the following terms: new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primMinusNatS1 new_esEs(Integer(Pos(Zero))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_esEs(Integer(Neg(Succ(x0)))) new_primMinusNatS2(Succ(x0), Zero) new_primMinusNatS2(Zero, Zero) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Integer(x0), Integer(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primRemInt(Neg(x0), Neg(Succ(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_primModNatS01(x0, x1, Zero, Succ(x2)) new_esEs(Integer(Pos(Succ(x0)))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, 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_primModNatS01(x0, x1, x0, x1)))), Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'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_primModNatS01(x0, x1, x0, x1)))), Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'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_primModNatS01(x0, x1, x0, x1)))), Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'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_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'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_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 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_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_primMinusNatS0(vuz32000) -> Succ(vuz32000) 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_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_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) new_esEs(Integer(Neg(Zero))) -> True new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 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 The set Q consists of the following terms: new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primMinusNatS1 new_esEs(Integer(Pos(Zero))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_esEs(Integer(Neg(Succ(x0)))) new_primMinusNatS2(Succ(x0), Zero) new_primMinusNatS2(Zero, Zero) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Integer(x0), Integer(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primRemInt(Neg(x0), Neg(Succ(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_primModNatS01(x0, x1, Zero, Succ(x2)) new_esEs(Integer(Pos(Succ(x0)))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, 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_primModNatS01(x0, x1, x0, x1)))), Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'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_primModNatS01(x0, x1, x0, x1)))), Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'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_primModNatS01(x0, x1, x0, x1)))), Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'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_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'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_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 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_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_primMinusNatS0(vuz32000) -> Succ(vuz32000) 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_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_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) new_esEs(Integer(Neg(Zero))) -> True new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 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 The set Q consists of the following terms: new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primMinusNatS1 new_esEs(Integer(Pos(Zero))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_esEs(Integer(Neg(Succ(x0)))) new_primMinusNatS2(Succ(x0), Zero) new_primMinusNatS2(Zero, Zero) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Integer(x0), Integer(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primRemInt(Neg(x0), Neg(Succ(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_primModNatS01(x0, x1, Zero, Succ(x2)) new_esEs(Integer(Pos(Succ(x0)))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, 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_primModNatS01(x0, x1, x0, x1)))), Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'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_primModNatS01(x0, x1, x0, x1)))), Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'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_primModNatS01(x0, x1, x0, x1)))), Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'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_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'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_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 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_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_primMinusNatS0(vuz32000) -> Succ(vuz32000) 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_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_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) new_esEs(Integer(Neg(Zero))) -> True new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 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 The set Q consists of the following terms: new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primMinusNatS1 new_esEs(Integer(Pos(Zero))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_esEs(Integer(Neg(Succ(x0)))) new_primMinusNatS2(Succ(x0), Zero) new_primMinusNatS2(Zero, Zero) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Integer(x0), Integer(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primRemInt(Neg(x0), Neg(Succ(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_primModNatS01(x0, x1, Zero, Succ(x2)) new_esEs(Integer(Pos(Succ(x0)))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, 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_primModNatS01(x0, x1, x0, x1)))), Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'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_primModNatS01(x0, x1, x0, x1)))), Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'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_primModNatS01(x0, x1, x0, x1)))), Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'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_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'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_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 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_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_primMinusNatS0(vuz32000) -> Succ(vuz32000) 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_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_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) new_esEs(Integer(Neg(Zero))) -> True new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 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 The set Q consists of the following terms: new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primMinusNatS1 new_esEs(Integer(Pos(Zero))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_esEs(Integer(Neg(Succ(x0)))) new_primMinusNatS2(Succ(x0), Zero) new_primMinusNatS2(Zero, Zero) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Integer(x0), Integer(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primRemInt(Neg(x0), Neg(Succ(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_primModNatS01(x0, x1, Zero, Succ(x2)) new_esEs(Integer(Pos(Succ(x0)))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, 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_primModNatS01(x0, x1, x0, x1)))), Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) at position [0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))),new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2))))))) (new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'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_primModNatS02(Zero, Zero)))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))),new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS02(Zero, Zero)))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero)))))) (new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS02(Succ(x2), Zero)))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))),new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS02(Succ(x2), Zero)))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2))))))) ---------------------------------------- (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_primModNatS01(x0, x1, x0, x1)))), Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'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_primModNatS01(x0, x1, x0, x1)))), Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'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_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'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_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'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_primModNatS02(Zero, Zero)))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS02(Succ(x2), Zero)))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) The TRS R consists of the following rules: new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 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_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_primMinusNatS0(vuz32000) -> Succ(vuz32000) 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_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_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) new_esEs(Integer(Neg(Zero))) -> True new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 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 The set Q consists of the following terms: new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primMinusNatS1 new_esEs(Integer(Pos(Zero))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_esEs(Integer(Neg(Succ(x0)))) new_primMinusNatS2(Succ(x0), Zero) new_primMinusNatS2(Zero, Zero) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Integer(x0), Integer(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primRemInt(Neg(x0), Neg(Succ(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_primModNatS01(x0, x1, Zero, Succ(x2)) new_esEs(Integer(Pos(Succ(x0)))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, 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(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)))))) ---------------------------------------- (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_primModNatS01(x0, x1, x0, x1)))), Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'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_primModNatS01(x0, x1, x0, x1)))), Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'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_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'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_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS02(Zero, Zero)))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS02(Succ(x2), Zero)))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'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_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 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_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_primMinusNatS0(vuz32000) -> Succ(vuz32000) 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_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_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) new_esEs(Integer(Neg(Zero))) -> True new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 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 The set Q consists of the following terms: new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primMinusNatS1 new_esEs(Integer(Pos(Zero))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_esEs(Integer(Neg(Succ(x0)))) new_primMinusNatS2(Succ(x0), Zero) new_primMinusNatS2(Zero, Zero) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Integer(x0), Integer(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primRemInt(Neg(x0), Neg(Succ(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_primModNatS01(x0, x1, Zero, Succ(x2)) new_esEs(Integer(Pos(Succ(x0)))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, 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(Zero)))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS02(Zero, Zero)))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'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)))))) ---------------------------------------- (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_primModNatS01(x0, x1, x0, x1)))), Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'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_primModNatS01(x0, x1, x0, x1)))), Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'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_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'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_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS02(Succ(x2), Zero)))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'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_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 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_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_primMinusNatS0(vuz32000) -> Succ(vuz32000) 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_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_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) new_esEs(Integer(Neg(Zero))) -> True new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 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 The set Q consists of the following terms: new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primMinusNatS1 new_esEs(Integer(Pos(Zero))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_esEs(Integer(Neg(Succ(x0)))) new_primMinusNatS2(Succ(x0), Zero) new_primMinusNatS2(Zero, Zero) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Integer(x0), Integer(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primRemInt(Neg(x0), Neg(Succ(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_primModNatS01(x0, x1, Zero, Succ(x2)) new_esEs(Integer(Pos(Succ(x0)))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, 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(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS02(Succ(x2), Zero)))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'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))))))) ---------------------------------------- (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_primModNatS01(x0, x1, x0, x1)))), Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'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_primModNatS01(x0, x1, x0, x1)))), Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'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_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'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_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'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(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_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 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_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_primMinusNatS0(vuz32000) -> Succ(vuz32000) 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_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_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) new_esEs(Integer(Neg(Zero))) -> True new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 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 The set Q consists of the following terms: new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primMinusNatS1 new_esEs(Integer(Pos(Zero))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_esEs(Integer(Neg(Succ(x0)))) new_primMinusNatS2(Succ(x0), Zero) new_primMinusNatS2(Zero, Zero) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Integer(x0), Integer(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primRemInt(Neg(x0), Neg(Succ(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_primModNatS01(x0, x1, Zero, Succ(x2)) new_esEs(Integer(Pos(Succ(x0)))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, 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(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)))))) ---------------------------------------- (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_primModNatS01(x0, x1, x0, x1)))), Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'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_primModNatS01(x0, x1, x0, x1)))), Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'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_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'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_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'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(Succ(x2)), Succ(Zero)), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'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_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 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_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_primMinusNatS0(vuz32000) -> Succ(vuz32000) 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_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_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) new_esEs(Integer(Neg(Zero))) -> True new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 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 The set Q consists of the following terms: new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primMinusNatS1 new_esEs(Integer(Pos(Zero))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_esEs(Integer(Neg(Succ(x0)))) new_primMinusNatS2(Succ(x0), Zero) new_primMinusNatS2(Zero, Zero) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Integer(x0), Integer(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primRemInt(Neg(x0), Neg(Succ(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_primModNatS01(x0, x1, Zero, Succ(x2)) new_esEs(Integer(Pos(Succ(x0)))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, 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(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))))))) ---------------------------------------- (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_primModNatS01(x0, x1, x0, x1)))), Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'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_primModNatS01(x0, x1, x0, x1)))), Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'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_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'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_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'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(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_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 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_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_primMinusNatS0(vuz32000) -> Succ(vuz32000) 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_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_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) new_esEs(Integer(Neg(Zero))) -> True new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 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 The set Q consists of the following terms: new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primMinusNatS1 new_esEs(Integer(Pos(Zero))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_esEs(Integer(Neg(Succ(x0)))) new_primMinusNatS2(Succ(x0), Zero) new_primMinusNatS2(Zero, Zero) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Integer(x0), Integer(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primRemInt(Neg(x0), Neg(Succ(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_primModNatS01(x0, x1, Zero, Succ(x2)) new_esEs(Integer(Pos(Succ(x0)))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, 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(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)))))) ---------------------------------------- (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_primModNatS01(x0, x1, x0, x1)))), Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'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_primModNatS01(x0, x1, x0, x1)))), Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'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_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'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_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'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(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_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 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_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_primMinusNatS0(vuz32000) -> Succ(vuz32000) 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_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_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) new_esEs(Integer(Neg(Zero))) -> True new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 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 The set Q consists of the following terms: new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primMinusNatS1 new_esEs(Integer(Pos(Zero))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_esEs(Integer(Neg(Succ(x0)))) new_primMinusNatS2(Succ(x0), Zero) new_primMinusNatS2(Zero, Zero) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Integer(x0), Integer(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primRemInt(Neg(x0), Neg(Succ(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_primModNatS01(x0, x1, Zero, Succ(x2)) new_esEs(Integer(Pos(Succ(x0)))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, 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(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))))))) ---------------------------------------- (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_primModNatS01(x0, x1, x0, x1)))), Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'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_primModNatS01(x0, x1, x0, x1)))), Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'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_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'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_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'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(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_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 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_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_primMinusNatS0(vuz32000) -> Succ(vuz32000) 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_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_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) new_esEs(Integer(Neg(Zero))) -> True new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 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 The set Q consists of the following terms: new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primMinusNatS1 new_esEs(Integer(Pos(Zero))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_esEs(Integer(Neg(Succ(x0)))) new_primMinusNatS2(Succ(x0), Zero) new_primMinusNatS2(Zero, Zero) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Integer(x0), Integer(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primRemInt(Neg(x0), Neg(Succ(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_primModNatS01(x0, x1, Zero, Succ(x2)) new_esEs(Integer(Pos(Succ(x0)))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, 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_primModNatS01(x0, x1, x0, x1)))), Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'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_primModNatS01(x0, x1, x0, x1)))), Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'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_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'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_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'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_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 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_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_primMinusNatS0(vuz32000) -> Succ(vuz32000) 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_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_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) new_esEs(Integer(Neg(Zero))) -> True new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 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 The set Q consists of the following terms: new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primMinusNatS1 new_esEs(Integer(Pos(Zero))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_esEs(Integer(Neg(Succ(x0)))) new_primMinusNatS2(Succ(x0), Zero) new_primMinusNatS2(Zero, Zero) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Integer(x0), Integer(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primRemInt(Neg(x0), Neg(Succ(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_primModNatS01(x0, x1, Zero, Succ(x2)) new_esEs(Integer(Pos(Succ(x0)))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, 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_primModNatS01(x0, x1, x0, x1)))), Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'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_primModNatS01(x0, x1, x0, x1)))), Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'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_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'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_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'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_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 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_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_primMinusNatS0(vuz32000) -> Succ(vuz32000) 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_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_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) new_esEs(Integer(Neg(Zero))) -> True new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 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 The set Q consists of the following terms: new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primMinusNatS1 new_esEs(Integer(Pos(Zero))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_esEs(Integer(Neg(Succ(x0)))) new_primMinusNatS2(Succ(x0), Zero) new_primMinusNatS2(Zero, Zero) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Integer(x0), Integer(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primRemInt(Neg(x0), Neg(Succ(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_primModNatS01(x0, x1, Zero, Succ(x2)) new_esEs(Integer(Pos(Succ(x0)))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, 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_primModNatS01(x0, x1, x0, x1)))), Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'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_primModNatS01(x0, x1, x0, x1)))), Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'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_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'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_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'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_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 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_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_primMinusNatS0(vuz32000) -> Succ(vuz32000) 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_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_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) new_esEs(Integer(Neg(Zero))) -> True new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 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 The set Q consists of the following terms: new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primMinusNatS1 new_esEs(Integer(Pos(Zero))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_esEs(Integer(Neg(Succ(x0)))) new_primMinusNatS2(Succ(x0), Zero) new_primMinusNatS2(Zero, Zero) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Integer(x0), Integer(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primRemInt(Neg(x0), Neg(Succ(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_primModNatS01(x0, x1, Zero, Succ(x2)) new_esEs(Integer(Pos(Succ(x0)))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, 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_primModNatS01(x0, x1, x0, x1)))), Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'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_primModNatS01(x0, x1, x0, x1)))), Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'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_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'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_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'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_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 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_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_primMinusNatS0(vuz32000) -> Succ(vuz32000) 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_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_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) new_esEs(Integer(Neg(Zero))) -> True new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 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 The set Q consists of the following terms: new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primMinusNatS1 new_esEs(Integer(Pos(Zero))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_esEs(Integer(Neg(Succ(x0)))) new_primMinusNatS2(Succ(x0), Zero) new_primMinusNatS2(Zero, Zero) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Integer(x0), Integer(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primRemInt(Neg(x0), Neg(Succ(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_primModNatS01(x0, x1, Zero, Succ(x2)) new_esEs(Integer(Pos(Succ(x0)))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, 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_primModNatS01(x0, x1, x0, x1)))), Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'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_primModNatS01(x0, x1, x0, x1)))), Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'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_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'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_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'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_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 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_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_primMinusNatS0(vuz32000) -> Succ(vuz32000) 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_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_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) new_esEs(Integer(Neg(Zero))) -> True new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 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 The set Q consists of the following terms: new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primMinusNatS1 new_esEs(Integer(Pos(Zero))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_esEs(Integer(Neg(Succ(x0)))) new_primMinusNatS2(Succ(x0), Zero) new_primMinusNatS2(Zero, Zero) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Integer(x0), Integer(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primRemInt(Neg(x0), Neg(Succ(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_primModNatS01(x0, x1, Zero, Succ(x2)) new_esEs(Integer(Pos(Succ(x0)))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, 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_primModNatS01(x0, x1, x0, x1)))), Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'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_primModNatS01(x0, x1, x0, x1)))), Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'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_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'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_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'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_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 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_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_primMinusNatS0(vuz32000) -> Succ(vuz32000) 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_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_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) new_esEs(Integer(Neg(Zero))) -> True new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 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 The set Q consists of the following terms: new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primMinusNatS1 new_esEs(Integer(Pos(Zero))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_esEs(Integer(Neg(Succ(x0)))) new_primMinusNatS2(Succ(x0), Zero) new_primMinusNatS2(Zero, Zero) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Integer(x0), Integer(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primRemInt(Neg(x0), Neg(Succ(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_primModNatS01(x0, x1, Zero, Succ(x2)) new_esEs(Integer(Pos(Succ(x0)))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, 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_primModNatS01(x0, x1, x0, x1)))), Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'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_primModNatS01(x0, x1, x0, x1)))), Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'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_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'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_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'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_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 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_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_primMinusNatS0(vuz32000) -> Succ(vuz32000) 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_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_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) new_esEs(Integer(Neg(Zero))) -> True new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 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 The set Q consists of the following terms: new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primMinusNatS1 new_esEs(Integer(Pos(Zero))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_esEs(Integer(Neg(Succ(x0)))) new_primMinusNatS2(Succ(x0), Zero) new_primMinusNatS2(Zero, Zero) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Integer(x0), Integer(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primRemInt(Neg(x0), Neg(Succ(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_primModNatS01(x0, x1, Zero, Succ(x2)) new_esEs(Integer(Pos(Succ(x0)))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, 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_primModNatS01(x0, x1, x0, x1)))), Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) at position [0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))),new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2))))))) (new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'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_primModNatS02(Zero, Zero)))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))),new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS02(Zero, Zero)))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero)))))) (new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS02(Succ(x2), Zero)))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))),new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS02(Succ(x2), Zero)))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2))))))) ---------------------------------------- (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_primModNatS01(x0, x1, x0, x1)))), Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'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_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'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_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'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_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'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_primModNatS02(Zero, Zero)))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS02(Succ(x2), Zero)))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) The TRS R consists of the following rules: new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 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_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_primMinusNatS0(vuz32000) -> Succ(vuz32000) 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_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_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) new_esEs(Integer(Neg(Zero))) -> True new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 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 The set Q consists of the following terms: new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primMinusNatS1 new_esEs(Integer(Pos(Zero))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_esEs(Integer(Neg(Succ(x0)))) new_primMinusNatS2(Succ(x0), Zero) new_primMinusNatS2(Zero, Zero) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Integer(x0), Integer(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primRemInt(Neg(x0), Neg(Succ(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_primModNatS01(x0, x1, Zero, Succ(x2)) new_esEs(Integer(Pos(Succ(x0)))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, 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(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)))))) ---------------------------------------- (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_primModNatS01(x0, x1, x0, x1)))), Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'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_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'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_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'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_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS02(Zero, Zero)))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS02(Succ(x2), Zero)))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'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_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 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_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_primMinusNatS0(vuz32000) -> Succ(vuz32000) 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_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_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) new_esEs(Integer(Neg(Zero))) -> True new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 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 The set Q consists of the following terms: new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primMinusNatS1 new_esEs(Integer(Pos(Zero))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_esEs(Integer(Neg(Succ(x0)))) new_primMinusNatS2(Succ(x0), Zero) new_primMinusNatS2(Zero, Zero) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Integer(x0), Integer(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primRemInt(Neg(x0), Neg(Succ(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_primModNatS01(x0, x1, Zero, Succ(x2)) new_esEs(Integer(Pos(Succ(x0)))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, 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(Zero)))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS02(Zero, Zero)))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'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)))))) ---------------------------------------- (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_primModNatS01(x0, x1, x0, x1)))), Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'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_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'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_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'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_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS02(Succ(x2), Zero)))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'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_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 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_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_primMinusNatS0(vuz32000) -> Succ(vuz32000) 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_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_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) new_esEs(Integer(Neg(Zero))) -> True new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 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 The set Q consists of the following terms: new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primMinusNatS1 new_esEs(Integer(Pos(Zero))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_esEs(Integer(Neg(Succ(x0)))) new_primMinusNatS2(Succ(x0), Zero) new_primMinusNatS2(Zero, Zero) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Integer(x0), Integer(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primRemInt(Neg(x0), Neg(Succ(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_primModNatS01(x0, x1, Zero, Succ(x2)) new_esEs(Integer(Pos(Succ(x0)))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, 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(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS02(Succ(x2), Zero)))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'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))))))) ---------------------------------------- (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_primModNatS01(x0, x1, x0, x1)))), Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'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_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'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_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'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_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'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(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_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 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_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_primMinusNatS0(vuz32000) -> Succ(vuz32000) 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_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_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) new_esEs(Integer(Neg(Zero))) -> True new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 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 The set Q consists of the following terms: new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primMinusNatS1 new_esEs(Integer(Pos(Zero))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_esEs(Integer(Neg(Succ(x0)))) new_primMinusNatS2(Succ(x0), Zero) new_primMinusNatS2(Zero, Zero) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Integer(x0), Integer(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primRemInt(Neg(x0), Neg(Succ(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_primModNatS01(x0, x1, Zero, Succ(x2)) new_esEs(Integer(Pos(Succ(x0)))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, 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(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)))))) ---------------------------------------- (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_primModNatS01(x0, x1, x0, x1)))), Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'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_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'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_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'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_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'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(Succ(x2)), Succ(Zero)), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'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_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 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_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_primMinusNatS0(vuz32000) -> Succ(vuz32000) 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_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_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) new_esEs(Integer(Neg(Zero))) -> True new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 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 The set Q consists of the following terms: new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primMinusNatS1 new_esEs(Integer(Pos(Zero))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_esEs(Integer(Neg(Succ(x0)))) new_primMinusNatS2(Succ(x0), Zero) new_primMinusNatS2(Zero, Zero) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Integer(x0), Integer(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primRemInt(Neg(x0), Neg(Succ(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_primModNatS01(x0, x1, Zero, Succ(x2)) new_esEs(Integer(Pos(Succ(x0)))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, 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(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))))))) ---------------------------------------- (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_primModNatS01(x0, x1, x0, x1)))), Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'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_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'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_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'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_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'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(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_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 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_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_primMinusNatS0(vuz32000) -> Succ(vuz32000) 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_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_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) new_esEs(Integer(Neg(Zero))) -> True new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 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 The set Q consists of the following terms: new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primMinusNatS1 new_esEs(Integer(Pos(Zero))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_esEs(Integer(Neg(Succ(x0)))) new_primMinusNatS2(Succ(x0), Zero) new_primMinusNatS2(Zero, Zero) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Integer(x0), Integer(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primRemInt(Neg(x0), Neg(Succ(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_primModNatS01(x0, x1, Zero, Succ(x2)) new_esEs(Integer(Pos(Succ(x0)))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, 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(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)))))) ---------------------------------------- (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_primModNatS01(x0, x1, x0, x1)))), Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'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_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'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_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'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_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'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(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_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 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_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_primMinusNatS0(vuz32000) -> Succ(vuz32000) 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_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_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) new_esEs(Integer(Neg(Zero))) -> True new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 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 The set Q consists of the following terms: new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primMinusNatS1 new_esEs(Integer(Pos(Zero))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_esEs(Integer(Neg(Succ(x0)))) new_primMinusNatS2(Succ(x0), Zero) new_primMinusNatS2(Zero, Zero) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Integer(x0), Integer(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primRemInt(Neg(x0), Neg(Succ(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_primModNatS01(x0, x1, Zero, Succ(x2)) new_esEs(Integer(Pos(Succ(x0)))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, 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(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))))))) ---------------------------------------- (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_primModNatS01(x0, x1, x0, x1)))), Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'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_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'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_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'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_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'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(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_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 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_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_primMinusNatS0(vuz32000) -> Succ(vuz32000) 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_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_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) new_esEs(Integer(Neg(Zero))) -> True new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 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 The set Q consists of the following terms: new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primMinusNatS1 new_esEs(Integer(Pos(Zero))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_esEs(Integer(Neg(Succ(x0)))) new_primMinusNatS2(Succ(x0), Zero) new_primMinusNatS2(Zero, Zero) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Integer(x0), Integer(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primRemInt(Neg(x0), Neg(Succ(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_primModNatS01(x0, x1, Zero, Succ(x2)) new_esEs(Integer(Pos(Succ(x0)))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, 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_primModNatS01(x0, x1, x0, x1)))), Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'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_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'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_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'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_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'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_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 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_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_primMinusNatS0(vuz32000) -> Succ(vuz32000) 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_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_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) new_esEs(Integer(Neg(Zero))) -> True new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 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 The set Q consists of the following terms: new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primMinusNatS1 new_esEs(Integer(Pos(Zero))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_esEs(Integer(Neg(Succ(x0)))) new_primMinusNatS2(Succ(x0), Zero) new_primMinusNatS2(Zero, Zero) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Integer(x0), Integer(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primRemInt(Neg(x0), Neg(Succ(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_primModNatS01(x0, x1, Zero, Succ(x2)) new_esEs(Integer(Pos(Succ(x0)))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, 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_primModNatS01(x0, x1, x0, x1)))), Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'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_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'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_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'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_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'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_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 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_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_primMinusNatS0(vuz32000) -> Succ(vuz32000) 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_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_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) new_esEs(Integer(Neg(Zero))) -> True new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 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 The set Q consists of the following terms: new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primMinusNatS1 new_esEs(Integer(Pos(Zero))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_esEs(Integer(Neg(Succ(x0)))) new_primMinusNatS2(Succ(x0), Zero) new_primMinusNatS2(Zero, Zero) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Integer(x0), Integer(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primRemInt(Neg(x0), Neg(Succ(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_primModNatS01(x0, x1, Zero, Succ(x2)) new_esEs(Integer(Pos(Succ(x0)))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, 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_primModNatS01(x0, x1, x0, x1)))), Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'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_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'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_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'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_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'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_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 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_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_primMinusNatS0(vuz32000) -> Succ(vuz32000) 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_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_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) new_esEs(Integer(Neg(Zero))) -> True new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 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 The set Q consists of the following terms: new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primMinusNatS1 new_esEs(Integer(Pos(Zero))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_esEs(Integer(Neg(Succ(x0)))) new_primMinusNatS2(Succ(x0), Zero) new_primMinusNatS2(Zero, Zero) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Integer(x0), Integer(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primRemInt(Neg(x0), Neg(Succ(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_primModNatS01(x0, x1, Zero, Succ(x2)) new_esEs(Integer(Pos(Succ(x0)))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, 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_primModNatS01(x0, x1, x0, x1)))), Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'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_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'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_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'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_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'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_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 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_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_primMinusNatS0(vuz32000) -> Succ(vuz32000) 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_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_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) new_esEs(Integer(Neg(Zero))) -> True new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 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 The set Q consists of the following terms: new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primMinusNatS1 new_esEs(Integer(Pos(Zero))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_esEs(Integer(Neg(Succ(x0)))) new_primMinusNatS2(Succ(x0), Zero) new_primMinusNatS2(Zero, Zero) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Integer(x0), Integer(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primRemInt(Neg(x0), Neg(Succ(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_primModNatS01(x0, x1, Zero, Succ(x2)) new_esEs(Integer(Pos(Succ(x0)))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, 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_primModNatS01(x0, x1, x0, x1)))), Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'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_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'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_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'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_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'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_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 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_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_primMinusNatS0(vuz32000) -> Succ(vuz32000) 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_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_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) new_esEs(Integer(Neg(Zero))) -> True new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 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 The set Q consists of the following terms: new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primMinusNatS1 new_esEs(Integer(Pos(Zero))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_esEs(Integer(Neg(Succ(x0)))) new_primMinusNatS2(Succ(x0), Zero) new_primMinusNatS2(Zero, Zero) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Integer(x0), Integer(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primRemInt(Neg(x0), Neg(Succ(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_primModNatS01(x0, x1, Zero, Succ(x2)) new_esEs(Integer(Pos(Succ(x0)))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, 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_primModNatS01(x0, x1, x0, x1)))), Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'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_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'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_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'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_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'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_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 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_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_primMinusNatS0(vuz32000) -> Succ(vuz32000) 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_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_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) new_esEs(Integer(Neg(Zero))) -> True new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 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 The set Q consists of the following terms: new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primMinusNatS1 new_esEs(Integer(Pos(Zero))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_esEs(Integer(Neg(Succ(x0)))) new_primMinusNatS2(Succ(x0), Zero) new_primMinusNatS2(Zero, Zero) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Integer(x0), Integer(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primRemInt(Neg(x0), Neg(Succ(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_primModNatS01(x0, x1, Zero, Succ(x2)) new_esEs(Integer(Pos(Succ(x0)))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, 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_primModNatS01(x0, x1, x0, x1)))), Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'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_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'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_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'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_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'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_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 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_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_primMinusNatS0(vuz32000) -> Succ(vuz32000) 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_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_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) new_esEs(Integer(Neg(Zero))) -> True new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 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 The set Q consists of the following terms: new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primMinusNatS1 new_esEs(Integer(Pos(Zero))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_esEs(Integer(Neg(Succ(x0)))) new_primMinusNatS2(Succ(x0), Zero) new_primMinusNatS2(Zero, Zero) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Integer(x0), Integer(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primRemInt(Neg(x0), Neg(Succ(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_primModNatS01(x0, x1, Zero, Succ(x2)) new_esEs(Integer(Pos(Succ(x0)))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, 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_primModNatS01(x0, x1, x0, x1)))), Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) at position [0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))),new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2))))))) (new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'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_primModNatS02(Zero, Zero)))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))),new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS02(Zero, Zero)))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero)))))) (new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS02(Succ(x2), Zero)))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))),new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS02(Succ(x2), Zero)))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2))))))) ---------------------------------------- (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_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'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_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'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_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'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_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'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_primModNatS02(Zero, Zero)))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS02(Succ(x2), Zero)))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) The TRS R consists of the following rules: new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 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_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_primMinusNatS0(vuz32000) -> Succ(vuz32000) 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_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_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) new_esEs(Integer(Neg(Zero))) -> True new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 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 The set Q consists of the following terms: new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primMinusNatS1 new_esEs(Integer(Pos(Zero))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_esEs(Integer(Neg(Succ(x0)))) new_primMinusNatS2(Succ(x0), Zero) new_primMinusNatS2(Zero, Zero) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Integer(x0), Integer(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primRemInt(Neg(x0), Neg(Succ(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_primModNatS01(x0, x1, Zero, Succ(x2)) new_esEs(Integer(Pos(Succ(x0)))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, 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(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)))))) ---------------------------------------- (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_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'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_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'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_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'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_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS02(Zero, Zero)))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS02(Succ(x2), Zero)))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'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_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 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_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_primMinusNatS0(vuz32000) -> Succ(vuz32000) 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_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_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) new_esEs(Integer(Neg(Zero))) -> True new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 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 The set Q consists of the following terms: new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primMinusNatS1 new_esEs(Integer(Pos(Zero))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_esEs(Integer(Neg(Succ(x0)))) new_primMinusNatS2(Succ(x0), Zero) new_primMinusNatS2(Zero, Zero) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Integer(x0), Integer(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primRemInt(Neg(x0), Neg(Succ(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_primModNatS01(x0, x1, Zero, Succ(x2)) new_esEs(Integer(Pos(Succ(x0)))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, 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(Zero)))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS02(Zero, Zero)))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'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)))))) ---------------------------------------- (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_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'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_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'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_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'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_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS02(Succ(x2), Zero)))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'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_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 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_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_primMinusNatS0(vuz32000) -> Succ(vuz32000) 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_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_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) new_esEs(Integer(Neg(Zero))) -> True new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 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 The set Q consists of the following terms: new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primMinusNatS1 new_esEs(Integer(Pos(Zero))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_esEs(Integer(Neg(Succ(x0)))) new_primMinusNatS2(Succ(x0), Zero) new_primMinusNatS2(Zero, Zero) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Integer(x0), Integer(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primRemInt(Neg(x0), Neg(Succ(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_primModNatS01(x0, x1, Zero, Succ(x2)) new_esEs(Integer(Pos(Succ(x0)))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, 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(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS02(Succ(x2), Zero)))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'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))))))) ---------------------------------------- (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_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'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_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'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_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'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_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'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(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_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 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_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_primMinusNatS0(vuz32000) -> Succ(vuz32000) 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_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_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) new_esEs(Integer(Neg(Zero))) -> True new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 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 The set Q consists of the following terms: new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primMinusNatS1 new_esEs(Integer(Pos(Zero))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_esEs(Integer(Neg(Succ(x0)))) new_primMinusNatS2(Succ(x0), Zero) new_primMinusNatS2(Zero, Zero) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Integer(x0), Integer(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primRemInt(Neg(x0), Neg(Succ(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_primModNatS01(x0, x1, Zero, Succ(x2)) new_esEs(Integer(Pos(Succ(x0)))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, 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(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)))))) ---------------------------------------- (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_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'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_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'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_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'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_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'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(Succ(x2)), Succ(Zero)), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'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_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 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_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_primMinusNatS0(vuz32000) -> Succ(vuz32000) 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_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_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) new_esEs(Integer(Neg(Zero))) -> True new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 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 The set Q consists of the following terms: new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primMinusNatS1 new_esEs(Integer(Pos(Zero))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_esEs(Integer(Neg(Succ(x0)))) new_primMinusNatS2(Succ(x0), Zero) new_primMinusNatS2(Zero, Zero) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Integer(x0), Integer(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primRemInt(Neg(x0), Neg(Succ(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_primModNatS01(x0, x1, Zero, Succ(x2)) new_esEs(Integer(Pos(Succ(x0)))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, 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(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))))))) ---------------------------------------- (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_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'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_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'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_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'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_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'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(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_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 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_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_primMinusNatS0(vuz32000) -> Succ(vuz32000) 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_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_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) new_esEs(Integer(Neg(Zero))) -> True new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 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 The set Q consists of the following terms: new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primMinusNatS1 new_esEs(Integer(Pos(Zero))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_esEs(Integer(Neg(Succ(x0)))) new_primMinusNatS2(Succ(x0), Zero) new_primMinusNatS2(Zero, Zero) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Integer(x0), Integer(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primRemInt(Neg(x0), Neg(Succ(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_primModNatS01(x0, x1, Zero, Succ(x2)) new_esEs(Integer(Pos(Succ(x0)))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, 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(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)))))) ---------------------------------------- (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_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'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_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'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_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'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_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'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(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_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 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_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_primMinusNatS0(vuz32000) -> Succ(vuz32000) 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_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_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) new_esEs(Integer(Neg(Zero))) -> True new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 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 The set Q consists of the following terms: new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primMinusNatS1 new_esEs(Integer(Pos(Zero))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_esEs(Integer(Neg(Succ(x0)))) new_primMinusNatS2(Succ(x0), Zero) new_primMinusNatS2(Zero, Zero) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Integer(x0), Integer(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primRemInt(Neg(x0), Neg(Succ(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_primModNatS01(x0, x1, Zero, Succ(x2)) new_esEs(Integer(Pos(Succ(x0)))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, 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(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))))))) ---------------------------------------- (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_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'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_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'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_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'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_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'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(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_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 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_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_primMinusNatS0(vuz32000) -> Succ(vuz32000) 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_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_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) new_esEs(Integer(Neg(Zero))) -> True new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 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 The set Q consists of the following terms: new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primMinusNatS1 new_esEs(Integer(Pos(Zero))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_esEs(Integer(Neg(Succ(x0)))) new_primMinusNatS2(Succ(x0), Zero) new_primMinusNatS2(Zero, Zero) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Integer(x0), Integer(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primRemInt(Neg(x0), Neg(Succ(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_primModNatS01(x0, x1, Zero, Succ(x2)) new_esEs(Integer(Pos(Succ(x0)))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, 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_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'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_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'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_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'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_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'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_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 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_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_primMinusNatS0(vuz32000) -> Succ(vuz32000) 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_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_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) new_esEs(Integer(Neg(Zero))) -> True new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 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 The set Q consists of the following terms: new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primMinusNatS1 new_esEs(Integer(Pos(Zero))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_esEs(Integer(Neg(Succ(x0)))) new_primMinusNatS2(Succ(x0), Zero) new_primMinusNatS2(Zero, Zero) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Integer(x0), Integer(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primRemInt(Neg(x0), Neg(Succ(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_primModNatS01(x0, x1, Zero, Succ(x2)) new_esEs(Integer(Pos(Succ(x0)))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, 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_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'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_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'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_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'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_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'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_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 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_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_primMinusNatS0(vuz32000) -> Succ(vuz32000) 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_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_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) new_esEs(Integer(Neg(Zero))) -> True new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 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 The set Q consists of the following terms: new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primMinusNatS1 new_esEs(Integer(Pos(Zero))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_esEs(Integer(Neg(Succ(x0)))) new_primMinusNatS2(Succ(x0), Zero) new_primMinusNatS2(Zero, Zero) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Integer(x0), Integer(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primRemInt(Neg(x0), Neg(Succ(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_primModNatS01(x0, x1, Zero, Succ(x2)) new_esEs(Integer(Pos(Succ(x0)))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, 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_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'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_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'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_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'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_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'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_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 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_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_primMinusNatS0(vuz32000) -> Succ(vuz32000) 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_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_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) new_esEs(Integer(Neg(Zero))) -> True new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 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 The set Q consists of the following terms: new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primMinusNatS1 new_esEs(Integer(Pos(Zero))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_esEs(Integer(Neg(Succ(x0)))) new_primMinusNatS2(Succ(x0), Zero) new_primMinusNatS2(Zero, Zero) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Integer(x0), Integer(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primRemInt(Neg(x0), Neg(Succ(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_primModNatS01(x0, x1, Zero, Succ(x2)) new_esEs(Integer(Pos(Succ(x0)))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, 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_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'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_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'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_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'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_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'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_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 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_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_primMinusNatS0(vuz32000) -> Succ(vuz32000) 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_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_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) new_esEs(Integer(Neg(Zero))) -> True new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 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 The set Q consists of the following terms: new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primMinusNatS1 new_esEs(Integer(Pos(Zero))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_esEs(Integer(Neg(Succ(x0)))) new_primMinusNatS2(Succ(x0), Zero) new_primMinusNatS2(Zero, Zero) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Integer(x0), Integer(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primRemInt(Neg(x0), Neg(Succ(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_primModNatS01(x0, x1, Zero, Succ(x2)) new_esEs(Integer(Pos(Succ(x0)))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, 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_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'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_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'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_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'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_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'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_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 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_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_primMinusNatS0(vuz32000) -> Succ(vuz32000) 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_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_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) new_esEs(Integer(Neg(Zero))) -> True new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 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 The set Q consists of the following terms: new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primMinusNatS1 new_esEs(Integer(Pos(Zero))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_esEs(Integer(Neg(Succ(x0)))) new_primMinusNatS2(Succ(x0), Zero) new_primMinusNatS2(Zero, Zero) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Integer(x0), Integer(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primRemInt(Neg(x0), Neg(Succ(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_primModNatS01(x0, x1, Zero, Succ(x2)) new_esEs(Integer(Pos(Succ(x0)))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, 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_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'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_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'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_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'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_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'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_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 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_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_primMinusNatS0(vuz32000) -> Succ(vuz32000) 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_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_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) new_esEs(Integer(Neg(Zero))) -> True new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 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 The set Q consists of the following terms: new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primMinusNatS1 new_esEs(Integer(Pos(Zero))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_esEs(Integer(Neg(Succ(x0)))) new_primMinusNatS2(Succ(x0), Zero) new_primMinusNatS2(Zero, Zero) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Integer(x0), Integer(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primRemInt(Neg(x0), Neg(Succ(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_primModNatS01(x0, x1, Zero, Succ(x2)) new_esEs(Integer(Pos(Succ(x0)))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, 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_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'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_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'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_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'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_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'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_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 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_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_primMinusNatS0(vuz32000) -> Succ(vuz32000) 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_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_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) new_esEs(Integer(Neg(Zero))) -> True new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 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 The set Q consists of the following terms: new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primMinusNatS1 new_esEs(Integer(Pos(Zero))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_esEs(Integer(Neg(Succ(x0)))) new_primMinusNatS2(Succ(x0), Zero) new_primMinusNatS2(Zero, Zero) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Integer(x0), Integer(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primRemInt(Neg(x0), Neg(Succ(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_primModNatS01(x0, x1, Zero, Succ(x2)) new_esEs(Integer(Pos(Succ(x0)))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, 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(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)) = 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, x_3, x_4)) = 1 POL(new_primModNatS02(x_1, x_2)) = 1 POL(new_primModNatS1(x_1, x_2)) = x_2 POL(new_primRemInt(x_1, x_2)) = 0 POL(new_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, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS01(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_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'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_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'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_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'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_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'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_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 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_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_primMinusNatS0(vuz32000) -> Succ(vuz32000) 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_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_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) new_esEs(Integer(Neg(Zero))) -> True new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 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 The set Q consists of the following terms: new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primMinusNatS1 new_esEs(Integer(Pos(Zero))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_esEs(Integer(Neg(Succ(x0)))) new_primMinusNatS2(Succ(x0), Zero) new_primMinusNatS2(Zero, Zero) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Integer(x0), Integer(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primRemInt(Neg(x0), Neg(Succ(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_primModNatS01(x0, x1, Zero, Succ(x2)) new_esEs(Integer(Pos(Succ(x0)))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (873) 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)))))) 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, x_3, x_4)) = 1 POL(new_primModNatS02(x_1, x_2)) = 1 POL(new_primModNatS1(x_1, x_2)) = x_2 POL(new_primRemInt(x_1, x_2)) = 0 POL(new_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, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS01(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 ---------------------------------------- (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_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'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_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'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_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'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_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'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_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 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_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_primMinusNatS0(vuz32000) -> Succ(vuz32000) 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_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_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) new_esEs(Integer(Neg(Zero))) -> True new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 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 The set Q consists of the following terms: new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primMinusNatS1 new_esEs(Integer(Pos(Zero))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_esEs(Integer(Neg(Succ(x0)))) new_primMinusNatS2(Succ(x0), Zero) new_primMinusNatS2(Zero, Zero) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Integer(x0), Integer(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primRemInt(Neg(x0), Neg(Succ(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_primModNatS01(x0, x1, Zero, Succ(x2)) new_esEs(Integer(Pos(Succ(x0)))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (875) MNOCProof (EQUIVALENT) We use the modular non-overlap check [FROCOS05] to decrease Q to the empty set. ---------------------------------------- (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_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'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_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'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_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'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_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'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_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 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_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_primMinusNatS0(vuz32000) -> Succ(vuz32000) 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_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_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) new_esEs(Integer(Neg(Zero))) -> True new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 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 Q is empty. We have to consider all (P,Q,R)-chains. ---------------------------------------- (877) 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_primModNatS01(Succ(x77), Succ(x76), x77, x76)))), Integer(Neg(Succ(Succ(Succ(x76))))), Integer(Pos(Succ(Succ(Succ(x77)))))) which results in the following constraint: (1) (new_gcd0Gcd'(x75, x74)=new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x76))))), Integer(Pos(Succ(Succ(Succ(x77)))))) ==> new_gcd0Gcd'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_primModNatS01(Succ(x87), Succ(x86), x87, x86)))), Integer(Pos(Succ(Succ(Succ(x86))))), Integer(Pos(Succ(Succ(Succ(x87)))))) which results in the following constraint: (1) (new_gcd0Gcd'(x85, x84)=new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x86))))), Integer(Pos(Succ(Succ(Succ(x87)))))) ==> new_gcd0Gcd'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_primModNatS01(Succ(x97), Succ(x96), x97, x96)))), Integer(Pos(Succ(Succ(Succ(x96))))), Integer(Neg(Succ(Succ(Succ(x97)))))) which results in the following constraint: (1) (new_gcd0Gcd'(x95, x94)=new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x96))))), Integer(Neg(Succ(Succ(Succ(x97)))))) ==> new_gcd0Gcd'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_primModNatS01(Succ(x107), Succ(x106), x107, x106)))), Integer(Neg(Succ(Succ(Succ(x106))))), Integer(Neg(Succ(Succ(Succ(x107)))))) which results in the following constraint: (1) (new_gcd0Gcd'(x105, x104)=new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x106))))), Integer(Neg(Succ(Succ(Succ(x107)))))) ==> new_gcd0Gcd'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_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) the following chains were created: *We consider the chain new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x176))))), Integer(Pos(Succ(Succ(Succ(x177)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS01(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_primModNatS01(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_primModNatS01(Succ(x177), Succ(x176), x177, x176)))), Integer(Neg(Succ(Succ(Succ(x176))))), Integer(Pos(Succ(Succ(Succ(x177))))))) We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: (2) (Integer(Pos(new_primModNatS01(Succ(x177), Succ(x176), x177, x176)))=x486 & new_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_primModNatS01(Succ(x177), Succ(x176), x177, x176)))), Integer(Neg(Succ(Succ(Succ(x176))))), Integer(Pos(Succ(Succ(Succ(x177))))))) We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_esEs(x486)=False which results in the following new constraints: (3) (False=False & Integer(Pos(new_primModNatS01(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_primModNatS01(Succ(x177), Succ(x176), x177, x176)))), Integer(Neg(Succ(Succ(Succ(x176))))), Integer(Pos(Succ(Succ(Succ(x177))))))) (4) (False=False & Integer(Pos(new_primModNatS01(Succ(x177), Succ(x176), x177, x176)))=Integer(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_primModNatS01(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_primModNatS01(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_primModNatS01(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_primModNatS01(x489, x490, x177, x176)=Succ(x487) which results in the following new constraints: (6) (new_primModNatS01(x494, x493, x492, x491)=Succ(x487) & Succ(Succ(x492))=x494 & Succ(Succ(x491))=x493 & (\/x495:new_primModNatS01(x494, x493, x492, x491)=Succ(x495) & Succ(x492)=x494 & Succ(x491)=x493 ==> new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x491))))), Integer(Pos(Succ(Succ(Succ(x492))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS01(Succ(x492), Succ(x491), x492, x491)))), Integer(Neg(Succ(Succ(Succ(x491))))), Integer(Pos(Succ(Succ(Succ(x492))))))) ==> new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(Succ(x491)))))), Integer(Pos(Succ(Succ(Succ(Succ(x492)))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS01(Succ(Succ(x492)), Succ(Succ(x491)), Succ(x492), Succ(x491))))), Integer(Neg(Succ(Succ(Succ(Succ(x491)))))), Integer(Pos(Succ(Succ(Succ(Succ(x492)))))))) (7) (Succ(Succ(x498))=Succ(x487) & Succ(Zero)=x498 & Succ(Succ(x496))=x497 ==> new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(Succ(x496)))))), Integer(Pos(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS01(Succ(Zero), Succ(Succ(x496)), Zero, Succ(x496))))), Integer(Neg(Succ(Succ(Succ(Succ(x496)))))), Integer(Pos(Succ(Succ(Succ(Zero))))))) (8) (new_primModNatS02(x500, x499)=Succ(x487) & Succ(Zero)=x500 & Succ(Zero)=x499 ==> new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(Zero))))), Integer(Pos(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS01(Succ(Zero), Succ(Zero), Zero, Zero)))), Integer(Neg(Succ(Succ(Succ(Zero))))), Integer(Pos(Succ(Succ(Succ(Zero))))))) (9) (new_primModNatS02(x503, x502)=Succ(x487) & Succ(Succ(x501))=x503 & Succ(Zero)=x502 ==> new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(Zero))))), Integer(Pos(Succ(Succ(Succ(Succ(x501)))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS01(Succ(Succ(x501)), Succ(Zero), Succ(x501), Zero)))), Integer(Neg(Succ(Succ(Succ(Zero))))), Integer(Pos(Succ(Succ(Succ(Succ(x501)))))))) We simplified constraint (6) using rule (IV) which results in the following new constraint: (10) (new_primModNatS01(x494, x493, x492, x491)=Succ(x487) & Succ(Succ(x492))=x494 & Succ(Succ(x491))=x493 ==> new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(Succ(x491)))))), Integer(Pos(Succ(Succ(Succ(Succ(x492)))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS01(Succ(Succ(x492)), Succ(Succ(x491)), Succ(x492), Succ(x491))))), Integer(Neg(Succ(Succ(Succ(Succ(x491)))))), Integer(Pos(Succ(Succ(Succ(Succ(x492)))))))) We simplified constraint (7) using rules (I), (II), (IV) which results in the following new constraint: (11) (new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(Succ(x496)))))), Integer(Pos(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS01(Succ(Zero), Succ(Succ(x496)), Zero, Succ(x496))))), Integer(Neg(Succ(Succ(Succ(Succ(x496)))))), Integer(Pos(Succ(Succ(Succ(Zero))))))) We simplified constraint (8) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x500, x499)=Succ(x487) which results in the following new constraint: (12) (new_primModNatS1(new_primMinusNatS2(Succ(x518), Succ(x517)), Succ(x517))=Succ(x487) & Succ(Zero)=x518 & Succ(Zero)=x517 ==> new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(Zero))))), Integer(Pos(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS01(Succ(Zero), Succ(Zero), Zero, Zero)))), Integer(Neg(Succ(Succ(Succ(Zero))))), Integer(Pos(Succ(Succ(Succ(Zero))))))) We simplified constraint (9) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x503, x502)=Succ(x487) which results in the following new constraint: (13) (new_primModNatS1(new_primMinusNatS2(Succ(x524), Succ(x523)), Succ(x523))=Succ(x487) & Succ(Succ(x501))=x524 & Succ(Zero)=x523 ==> new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(Zero))))), Integer(Pos(Succ(Succ(Succ(Succ(x501)))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS01(Succ(Succ(x501)), Succ(Zero), Succ(x501), Zero)))), Integer(Neg(Succ(Succ(Succ(Zero))))), Integer(Pos(Succ(Succ(Succ(Succ(x501)))))))) We simplified constraint (10) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x494, x493, x492, x491)=Succ(x487) which results in the following new constraints: (14) (new_primModNatS01(x507, x506, x505, x504)=Succ(x487) & Succ(Succ(Succ(x505)))=x507 & Succ(Succ(Succ(x504)))=x506 & (\/x508:new_primModNatS01(x507, x506, x505, x504)=Succ(x508) & Succ(Succ(x505))=x507 & Succ(Succ(x504))=x506 ==> new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(Succ(x504)))))), Integer(Pos(Succ(Succ(Succ(Succ(x505)))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS01(Succ(Succ(x505)), Succ(Succ(x504)), Succ(x505), Succ(x504))))), Integer(Neg(Succ(Succ(Succ(Succ(x504)))))), Integer(Pos(Succ(Succ(Succ(Succ(x505)))))))) ==> new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(Succ(Succ(x504))))))), Integer(Pos(Succ(Succ(Succ(Succ(Succ(x505))))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS01(Succ(Succ(Succ(x505))), Succ(Succ(Succ(x504))), Succ(Succ(x505)), Succ(Succ(x504)))))), Integer(Neg(Succ(Succ(Succ(Succ(Succ(x504))))))), Integer(Pos(Succ(Succ(Succ(Succ(Succ(x505))))))))) (15) (Succ(Succ(x511))=Succ(x487) & Succ(Succ(Zero))=x511 & Succ(Succ(Succ(x509)))=x510 ==> new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(Succ(Succ(x509))))))), Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Succ(x509))), Succ(Zero), Succ(Succ(x509)))))), Integer(Neg(Succ(Succ(Succ(Succ(Succ(x509))))))), Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))))) (16) (new_primModNatS02(x513, x512)=Succ(x487) & Succ(Succ(Zero))=x513 & Succ(Succ(Zero))=x512 ==> new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))), Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Zero)), Succ(Zero), Succ(Zero))))), Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))), Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))))) (17) (new_primModNatS02(x516, x515)=Succ(x487) & Succ(Succ(Succ(x514)))=x516 & Succ(Succ(Zero))=x515 ==> new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))), Integer(Pos(Succ(Succ(Succ(Succ(Succ(x514))))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS01(Succ(Succ(Succ(x514))), Succ(Succ(Zero)), Succ(Succ(x514)), Succ(Zero))))), Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))), Integer(Pos(Succ(Succ(Succ(Succ(Succ(x514))))))))) We simplified constraint (14) using rules (III), (IV) which results in the following new constraint: (18) (new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(Succ(Succ(x504))))))), Integer(Pos(Succ(Succ(Succ(Succ(Succ(x505))))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS01(Succ(Succ(Succ(x505))), Succ(Succ(Succ(x504))), Succ(Succ(x505)), Succ(Succ(x504)))))), Integer(Neg(Succ(Succ(Succ(Succ(Succ(x504))))))), Integer(Pos(Succ(Succ(Succ(Succ(Succ(x505))))))))) We simplified constraint (15) using rules (I), (II), (IV) which results in the following new constraint: (19) (new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(Succ(Succ(x509))))))), Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Succ(x509))), Succ(Zero), Succ(Succ(x509)))))), Integer(Neg(Succ(Succ(Succ(Succ(Succ(x509))))))), Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))))) We simplified constraint (16) using rules (III), (IV) which results in the following new constraint: (20) (new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))), Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Zero)), Succ(Zero), Succ(Zero))))), Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))), Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))))) We simplified constraint (17) using rules (III), (IV) which results in the following new constraint: (21) (new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))), Integer(Pos(Succ(Succ(Succ(Succ(Succ(x514))))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS01(Succ(Succ(Succ(x514))), Succ(Succ(Zero)), Succ(Succ(x514)), Succ(Zero))))), Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))), Integer(Pos(Succ(Succ(Succ(Succ(Succ(x514))))))))) We simplified constraint (12) using rules (III), (IV), (VII) which results in the following new constraint: (22) (new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(Zero))))), Integer(Pos(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS01(Succ(Zero), Succ(Zero), Zero, Zero)))), Integer(Neg(Succ(Succ(Succ(Zero))))), Integer(Pos(Succ(Succ(Succ(Zero))))))) We simplified constraint (13) using rules (III), (IV), (VII) which results in the following new constraint: (23) (new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(Zero))))), Integer(Pos(Succ(Succ(Succ(Succ(x501)))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS01(Succ(Succ(x501)), Succ(Zero), Succ(x501), Zero)))), Integer(Neg(Succ(Succ(Succ(Zero))))), Integer(Pos(Succ(Succ(Succ(Succ(x501)))))))) For Pair new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'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_primModNatS01(x537, x536, x537, x536)=Succ(x530) & Succ(x233)=Succ(Succ(x537)) & Succ(Zero)=Succ(x536) ==> 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_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))))))) 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 simplified constraint (8) using rules (I), (II), (III), (VII) which results in the following new constraint: (11) (x537=x539 & x536=x540 & new_primModNatS01(x537, x536, x539, x540)=Succ(x530) & Zero=x536 ==> new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(Succ(x537)))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(Succ(x537)), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(Succ(x537)))))))) We solved constraint (9) using rules (I), (II).We simplified constraint (11) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x537, x536, x539, x540)=Succ(x530) which results in the following new constraints: (12) (new_primModNatS01(x544, x543, x542, x541)=Succ(x530) & x544=Succ(x542) & x543=Succ(x541) & Zero=x543 & (\/x545:new_primModNatS01(x544, x543, x542, x541)=Succ(x545) & x544=x542 & x543=x541 & Zero=x543 ==> new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(Succ(x544)))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(Succ(x544)), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(Succ(x544)))))))) ==> new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(Succ(x544)))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(Succ(x544)), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(Succ(x544)))))))) (13) (Succ(Succ(x548))=Succ(x530) & x548=Zero & x547=Succ(x546) & Zero=x547 ==> new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(Succ(x548)))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(Succ(x548)), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(Succ(x548)))))))) (14) (new_primModNatS02(x550, x549)=Succ(x530) & x550=Zero & x549=Zero & Zero=x549 ==> new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(Succ(x550)))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(Succ(x550)), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(Succ(x550)))))))) (15) (new_primModNatS02(x553, x552)=Succ(x530) & x553=Succ(x551) & 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 solved constraint (12) using rules (I), (II), (III).We solved constraint (13) using rules (I), (II), (III), (IV).We simplified constraint (14) using rules (I), (II), (III), (IV), (VII) which results in the following new constraint: (16) (new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(Succ(Zero)), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))))) We simplified constraint (15) using rules (I), (II), (III), (IV), (VII) which results in the following new constraint: (17) (new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(Succ(Succ(x551))))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(Succ(Succ(x551))), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(Succ(Succ(x551))))))))) For Pair new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) the following chains were created: *We consider the chain new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x254))))), Integer(Pos(Succ(Succ(Succ(x255)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS01(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_primModNatS01(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_primModNatS01(Succ(x255), Succ(x254), x255, x254)))), Integer(Pos(Succ(Succ(Succ(x254))))), Integer(Pos(Succ(Succ(Succ(x255))))))) We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: (2) (Integer(Pos(new_primModNatS01(Succ(x255), Succ(x254), x255, x254)))=x558 & new_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_primModNatS01(Succ(x255), Succ(x254), x255, x254)))), Integer(Pos(Succ(Succ(Succ(x254))))), Integer(Pos(Succ(Succ(Succ(x255))))))) We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_esEs(x558)=False which results in the following new constraints: (3) (False=False & Integer(Pos(new_primModNatS01(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_primModNatS01(Succ(x255), Succ(x254), x255, x254)))), Integer(Pos(Succ(Succ(Succ(x254))))), Integer(Pos(Succ(Succ(Succ(x255))))))) (4) (False=False & Integer(Pos(new_primModNatS01(Succ(x255), Succ(x254), x255, x254)))=Integer(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_primModNatS01(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_primModNatS01(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_primModNatS01(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_primModNatS01(x561, x562, x255, x254)=Succ(x559) which results in the following new constraints: (6) (new_primModNatS01(x566, x565, x564, x563)=Succ(x559) & Succ(Succ(x564))=x566 & Succ(Succ(x563))=x565 & (\/x567:new_primModNatS01(x566, x565, x564, x563)=Succ(x567) & Succ(x564)=x566 & Succ(x563)=x565 ==> new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x563))))), Integer(Pos(Succ(Succ(Succ(x564))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS01(Succ(x564), Succ(x563), x564, x563)))), Integer(Pos(Succ(Succ(Succ(x563))))), Integer(Pos(Succ(Succ(Succ(x564))))))) ==> new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(Succ(x563)))))), Integer(Pos(Succ(Succ(Succ(Succ(x564)))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS01(Succ(Succ(x564)), Succ(Succ(x563)), Succ(x564), Succ(x563))))), Integer(Pos(Succ(Succ(Succ(Succ(x563)))))), Integer(Pos(Succ(Succ(Succ(Succ(x564)))))))) (7) (Succ(Succ(x570))=Succ(x559) & Succ(Zero)=x570 & Succ(Succ(x568))=x569 ==> new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(Succ(x568)))))), Integer(Pos(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS01(Succ(Zero), Succ(Succ(x568)), Zero, Succ(x568))))), Integer(Pos(Succ(Succ(Succ(Succ(x568)))))), Integer(Pos(Succ(Succ(Succ(Zero))))))) (8) (new_primModNatS02(x572, x571)=Succ(x559) & Succ(Zero)=x572 & Succ(Zero)=x571 ==> new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(Zero))))), Integer(Pos(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS01(Succ(Zero), Succ(Zero), Zero, Zero)))), Integer(Pos(Succ(Succ(Succ(Zero))))), Integer(Pos(Succ(Succ(Succ(Zero))))))) (9) (new_primModNatS02(x575, x574)=Succ(x559) & Succ(Succ(x573))=x575 & Succ(Zero)=x574 ==> new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(Zero))))), Integer(Pos(Succ(Succ(Succ(Succ(x573)))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS01(Succ(Succ(x573)), Succ(Zero), Succ(x573), Zero)))), Integer(Pos(Succ(Succ(Succ(Zero))))), Integer(Pos(Succ(Succ(Succ(Succ(x573)))))))) We simplified constraint (6) using rule (IV) which results in the following new constraint: (10) (new_primModNatS01(x566, x565, x564, x563)=Succ(x559) & Succ(Succ(x564))=x566 & Succ(Succ(x563))=x565 ==> new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(Succ(x563)))))), Integer(Pos(Succ(Succ(Succ(Succ(x564)))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS01(Succ(Succ(x564)), Succ(Succ(x563)), Succ(x564), Succ(x563))))), Integer(Pos(Succ(Succ(Succ(Succ(x563)))))), Integer(Pos(Succ(Succ(Succ(Succ(x564)))))))) We simplified constraint (7) using rules (I), (II), (IV) which results in the following new constraint: (11) (new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(Succ(x568)))))), Integer(Pos(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS01(Succ(Zero), Succ(Succ(x568)), Zero, Succ(x568))))), Integer(Pos(Succ(Succ(Succ(Succ(x568)))))), Integer(Pos(Succ(Succ(Succ(Zero))))))) We simplified constraint (8) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x572, x571)=Succ(x559) which results in the following new constraint: (12) (new_primModNatS1(new_primMinusNatS2(Succ(x590), Succ(x589)), Succ(x589))=Succ(x559) & Succ(Zero)=x590 & Succ(Zero)=x589 ==> new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(Zero))))), Integer(Pos(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS01(Succ(Zero), Succ(Zero), Zero, Zero)))), Integer(Pos(Succ(Succ(Succ(Zero))))), Integer(Pos(Succ(Succ(Succ(Zero))))))) We simplified constraint (9) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x575, x574)=Succ(x559) which results in the following new constraint: (13) (new_primModNatS1(new_primMinusNatS2(Succ(x596), Succ(x595)), Succ(x595))=Succ(x559) & Succ(Succ(x573))=x596 & Succ(Zero)=x595 ==> new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(Zero))))), Integer(Pos(Succ(Succ(Succ(Succ(x573)))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS01(Succ(Succ(x573)), Succ(Zero), Succ(x573), Zero)))), Integer(Pos(Succ(Succ(Succ(Zero))))), Integer(Pos(Succ(Succ(Succ(Succ(x573)))))))) We simplified constraint (10) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x566, x565, x564, x563)=Succ(x559) which results in the following new constraints: (14) (new_primModNatS01(x579, x578, x577, x576)=Succ(x559) & Succ(Succ(Succ(x577)))=x579 & Succ(Succ(Succ(x576)))=x578 & (\/x580:new_primModNatS01(x579, x578, x577, x576)=Succ(x580) & Succ(Succ(x577))=x579 & Succ(Succ(x576))=x578 ==> new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(Succ(x576)))))), Integer(Pos(Succ(Succ(Succ(Succ(x577)))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS01(Succ(Succ(x577)), Succ(Succ(x576)), Succ(x577), Succ(x576))))), Integer(Pos(Succ(Succ(Succ(Succ(x576)))))), Integer(Pos(Succ(Succ(Succ(Succ(x577)))))))) ==> new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(Succ(Succ(x576))))))), Integer(Pos(Succ(Succ(Succ(Succ(Succ(x577))))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS01(Succ(Succ(Succ(x577))), Succ(Succ(Succ(x576))), Succ(Succ(x577)), Succ(Succ(x576)))))), Integer(Pos(Succ(Succ(Succ(Succ(Succ(x576))))))), Integer(Pos(Succ(Succ(Succ(Succ(Succ(x577))))))))) (15) (Succ(Succ(x583))=Succ(x559) & Succ(Succ(Zero))=x583 & Succ(Succ(Succ(x581)))=x582 ==> new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(Succ(Succ(x581))))))), Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Succ(x581))), Succ(Zero), Succ(Succ(x581)))))), Integer(Pos(Succ(Succ(Succ(Succ(Succ(x581))))))), Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))))) (16) (new_primModNatS02(x585, x584)=Succ(x559) & Succ(Succ(Zero))=x585 & Succ(Succ(Zero))=x584 ==> new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))), Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Zero)), Succ(Zero), Succ(Zero))))), Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))), Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))))) (17) (new_primModNatS02(x588, x587)=Succ(x559) & Succ(Succ(Succ(x586)))=x588 & Succ(Succ(Zero))=x587 ==> new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))), Integer(Pos(Succ(Succ(Succ(Succ(Succ(x586))))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS01(Succ(Succ(Succ(x586))), Succ(Succ(Zero)), Succ(Succ(x586)), Succ(Zero))))), Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))), Integer(Pos(Succ(Succ(Succ(Succ(Succ(x586))))))))) We simplified constraint (14) using rules (III), (IV) which results in the following new constraint: (18) (new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(Succ(Succ(x576))))))), Integer(Pos(Succ(Succ(Succ(Succ(Succ(x577))))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS01(Succ(Succ(Succ(x577))), Succ(Succ(Succ(x576))), Succ(Succ(x577)), Succ(Succ(x576)))))), Integer(Pos(Succ(Succ(Succ(Succ(Succ(x576))))))), Integer(Pos(Succ(Succ(Succ(Succ(Succ(x577))))))))) We simplified constraint (15) using rules (I), (II), (IV) which results in the following new constraint: (19) (new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(Succ(Succ(x581))))))), Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Succ(x581))), Succ(Zero), Succ(Succ(x581)))))), Integer(Pos(Succ(Succ(Succ(Succ(Succ(x581))))))), Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))))) We simplified constraint (16) using rules (III), (IV) which results in the following new constraint: (20) (new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))), Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Zero)), Succ(Zero), Succ(Zero))))), Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))), Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))))) We simplified constraint (17) using rules (III), (IV) which results in the following new constraint: (21) (new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))), Integer(Pos(Succ(Succ(Succ(Succ(Succ(x586))))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS01(Succ(Succ(Succ(x586))), Succ(Succ(Zero)), Succ(Succ(x586)), Succ(Zero))))), Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))), Integer(Pos(Succ(Succ(Succ(Succ(Succ(x586))))))))) We simplified constraint (12) using rules (III), (IV), (VII) which results in the following new constraint: (22) (new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(Zero))))), Integer(Pos(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS01(Succ(Zero), Succ(Zero), Zero, Zero)))), Integer(Pos(Succ(Succ(Succ(Zero))))), Integer(Pos(Succ(Succ(Succ(Zero))))))) We simplified constraint (13) using rules (III), (IV), (VII) which results in the following new constraint: (23) (new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(Zero))))), Integer(Pos(Succ(Succ(Succ(Succ(x573)))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS01(Succ(Succ(x573)), Succ(Zero), Succ(x573), Zero)))), Integer(Pos(Succ(Succ(Succ(Zero))))), Integer(Pos(Succ(Succ(Succ(Succ(x573)))))))) For Pair new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'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_primModNatS01(x609, x608, x609, x608)=Succ(x602) & Succ(x311)=Succ(Succ(x609)) & Succ(Zero)=Succ(x608) ==> 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_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))))))) 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 simplified constraint (8) using rules (I), (II), (III), (VII) which results in the following new constraint: (11) (x609=x611 & x608=x612 & new_primModNatS01(x609, x608, x611, x612)=Succ(x602) & Zero=x608 ==> new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(Succ(x609)))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(Succ(x609)), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(Succ(x609)))))))) We solved constraint (9) using rules (I), (II).We simplified constraint (11) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x609, x608, x611, x612)=Succ(x602) which results in the following new constraints: (12) (new_primModNatS01(x616, x615, x614, x613)=Succ(x602) & x616=Succ(x614) & x615=Succ(x613) & Zero=x615 & (\/x617:new_primModNatS01(x616, x615, x614, x613)=Succ(x617) & x616=x614 & x615=x613 & Zero=x615 ==> new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(Succ(x616)))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(Succ(x616)), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(Succ(x616)))))))) ==> new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(Succ(x616)))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(Succ(x616)), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(Succ(x616)))))))) (13) (Succ(Succ(x620))=Succ(x602) & x620=Zero & x619=Succ(x618) & Zero=x619 ==> new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(Succ(x620)))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(Succ(x620)), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(Succ(x620)))))))) (14) (new_primModNatS02(x622, x621)=Succ(x602) & x622=Zero & x621=Zero & Zero=x621 ==> new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(Succ(x622)))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(Succ(x622)), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(Succ(x622)))))))) (15) (new_primModNatS02(x625, x624)=Succ(x602) & x625=Succ(x623) & 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 solved constraint (12) using rules (I), (II), (III).We solved constraint (13) using rules (I), (II), (III), (IV).We simplified constraint (14) using rules (I), (II), (III), (IV), (VII) which results in the following new constraint: (16) (new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(Succ(Zero)), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))))) We simplified constraint (15) using rules (I), (II), (III), (IV), (VII) which results in the following new constraint: (17) (new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(Succ(Succ(x623))))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(Succ(Succ(x623))), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(Succ(Succ(x623))))))))) For Pair new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) the following chains were created: *We consider the chain new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x332))))), Integer(Neg(Succ(Succ(Succ(x333)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS01(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_primModNatS01(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_primModNatS01(Succ(x333), Succ(x332), x333, x332)))), Integer(Pos(Succ(Succ(Succ(x332))))), Integer(Neg(Succ(Succ(Succ(x333))))))) We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: (2) (Integer(Neg(new_primModNatS01(Succ(x333), Succ(x332), x333, x332)))=x630 & new_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_primModNatS01(Succ(x333), Succ(x332), x333, x332)))), Integer(Pos(Succ(Succ(Succ(x332))))), Integer(Neg(Succ(Succ(Succ(x333))))))) We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_esEs(x630)=False which results in the following new constraints: (3) (False=False & Integer(Neg(new_primModNatS01(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_primModNatS01(Succ(x333), Succ(x332), x333, x332)))), Integer(Pos(Succ(Succ(Succ(x332))))), Integer(Neg(Succ(Succ(Succ(x333))))))) (4) (False=False & Integer(Neg(new_primModNatS01(Succ(x333), Succ(x332), x333, x332)))=Integer(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_primModNatS01(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_primModNatS01(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_primModNatS01(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_primModNatS01(x633, x634, x333, x332)=Succ(x632) which results in the following new constraints: (6) (new_primModNatS01(x638, x637, x636, x635)=Succ(x632) & Succ(Succ(x636))=x638 & Succ(Succ(x635))=x637 & (\/x639:new_primModNatS01(x638, x637, x636, x635)=Succ(x639) & Succ(x636)=x638 & Succ(x635)=x637 ==> new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x635))))), Integer(Neg(Succ(Succ(Succ(x636))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS01(Succ(x636), Succ(x635), x636, x635)))), Integer(Pos(Succ(Succ(Succ(x635))))), Integer(Neg(Succ(Succ(Succ(x636))))))) ==> new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(Succ(x635)))))), Integer(Neg(Succ(Succ(Succ(Succ(x636)))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS01(Succ(Succ(x636)), Succ(Succ(x635)), Succ(x636), Succ(x635))))), Integer(Pos(Succ(Succ(Succ(Succ(x635)))))), Integer(Neg(Succ(Succ(Succ(Succ(x636)))))))) (7) (Succ(Succ(x642))=Succ(x632) & Succ(Zero)=x642 & Succ(Succ(x640))=x641 ==> new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(Succ(x640)))))), Integer(Neg(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS01(Succ(Zero), Succ(Succ(x640)), Zero, Succ(x640))))), Integer(Pos(Succ(Succ(Succ(Succ(x640)))))), Integer(Neg(Succ(Succ(Succ(Zero))))))) (8) (new_primModNatS02(x644, x643)=Succ(x632) & Succ(Zero)=x644 & Succ(Zero)=x643 ==> new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(Zero))))), Integer(Neg(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS01(Succ(Zero), Succ(Zero), Zero, Zero)))), Integer(Pos(Succ(Succ(Succ(Zero))))), Integer(Neg(Succ(Succ(Succ(Zero))))))) (9) (new_primModNatS02(x647, x646)=Succ(x632) & Succ(Succ(x645))=x647 & Succ(Zero)=x646 ==> new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(Zero))))), Integer(Neg(Succ(Succ(Succ(Succ(x645)))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS01(Succ(Succ(x645)), Succ(Zero), Succ(x645), Zero)))), Integer(Pos(Succ(Succ(Succ(Zero))))), Integer(Neg(Succ(Succ(Succ(Succ(x645)))))))) We simplified constraint (6) using rule (IV) which results in the following new constraint: (10) (new_primModNatS01(x638, x637, x636, x635)=Succ(x632) & Succ(Succ(x636))=x638 & Succ(Succ(x635))=x637 ==> new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(Succ(x635)))))), Integer(Neg(Succ(Succ(Succ(Succ(x636)))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS01(Succ(Succ(x636)), Succ(Succ(x635)), Succ(x636), Succ(x635))))), Integer(Pos(Succ(Succ(Succ(Succ(x635)))))), Integer(Neg(Succ(Succ(Succ(Succ(x636)))))))) We simplified constraint (7) using rules (I), (II), (IV) which results in the following new constraint: (11) (new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(Succ(x640)))))), Integer(Neg(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS01(Succ(Zero), Succ(Succ(x640)), Zero, Succ(x640))))), Integer(Pos(Succ(Succ(Succ(Succ(x640)))))), Integer(Neg(Succ(Succ(Succ(Zero))))))) We simplified constraint (8) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x644, x643)=Succ(x632) which results in the following new constraint: (12) (new_primModNatS1(new_primMinusNatS2(Succ(x662), Succ(x661)), Succ(x661))=Succ(x632) & Succ(Zero)=x662 & Succ(Zero)=x661 ==> new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(Zero))))), Integer(Neg(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS01(Succ(Zero), Succ(Zero), Zero, Zero)))), Integer(Pos(Succ(Succ(Succ(Zero))))), Integer(Neg(Succ(Succ(Succ(Zero))))))) We simplified constraint (9) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x647, x646)=Succ(x632) which results in the following new constraint: (13) (new_primModNatS1(new_primMinusNatS2(Succ(x668), Succ(x667)), Succ(x667))=Succ(x632) & Succ(Succ(x645))=x668 & Succ(Zero)=x667 ==> new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(Zero))))), Integer(Neg(Succ(Succ(Succ(Succ(x645)))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS01(Succ(Succ(x645)), Succ(Zero), Succ(x645), Zero)))), Integer(Pos(Succ(Succ(Succ(Zero))))), Integer(Neg(Succ(Succ(Succ(Succ(x645)))))))) We simplified constraint (10) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x638, x637, x636, x635)=Succ(x632) which results in the following new constraints: (14) (new_primModNatS01(x651, x650, x649, x648)=Succ(x632) & Succ(Succ(Succ(x649)))=x651 & Succ(Succ(Succ(x648)))=x650 & (\/x652:new_primModNatS01(x651, x650, x649, x648)=Succ(x652) & Succ(Succ(x649))=x651 & Succ(Succ(x648))=x650 ==> new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(Succ(x648)))))), Integer(Neg(Succ(Succ(Succ(Succ(x649)))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS01(Succ(Succ(x649)), Succ(Succ(x648)), Succ(x649), Succ(x648))))), Integer(Pos(Succ(Succ(Succ(Succ(x648)))))), Integer(Neg(Succ(Succ(Succ(Succ(x649)))))))) ==> new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(Succ(Succ(x648))))))), Integer(Neg(Succ(Succ(Succ(Succ(Succ(x649))))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS01(Succ(Succ(Succ(x649))), Succ(Succ(Succ(x648))), Succ(Succ(x649)), Succ(Succ(x648)))))), Integer(Pos(Succ(Succ(Succ(Succ(Succ(x648))))))), Integer(Neg(Succ(Succ(Succ(Succ(Succ(x649))))))))) (15) (Succ(Succ(x655))=Succ(x632) & Succ(Succ(Zero))=x655 & Succ(Succ(Succ(x653)))=x654 ==> new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(Succ(Succ(x653))))))), Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Succ(x653))), Succ(Zero), Succ(Succ(x653)))))), Integer(Pos(Succ(Succ(Succ(Succ(Succ(x653))))))), Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))))) (16) (new_primModNatS02(x657, x656)=Succ(x632) & Succ(Succ(Zero))=x657 & Succ(Succ(Zero))=x656 ==> new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))), Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Zero)), Succ(Zero), Succ(Zero))))), Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))), Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))))) (17) (new_primModNatS02(x660, x659)=Succ(x632) & Succ(Succ(Succ(x658)))=x660 & Succ(Succ(Zero))=x659 ==> new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))), Integer(Neg(Succ(Succ(Succ(Succ(Succ(x658))))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS01(Succ(Succ(Succ(x658))), Succ(Succ(Zero)), Succ(Succ(x658)), Succ(Zero))))), Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))), Integer(Neg(Succ(Succ(Succ(Succ(Succ(x658))))))))) We simplified constraint (14) using rules (III), (IV) which results in the following new constraint: (18) (new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(Succ(Succ(x648))))))), Integer(Neg(Succ(Succ(Succ(Succ(Succ(x649))))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS01(Succ(Succ(Succ(x649))), Succ(Succ(Succ(x648))), Succ(Succ(x649)), Succ(Succ(x648)))))), Integer(Pos(Succ(Succ(Succ(Succ(Succ(x648))))))), Integer(Neg(Succ(Succ(Succ(Succ(Succ(x649))))))))) We simplified constraint (15) using rules (I), (II), (IV) which results in the following new constraint: (19) (new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(Succ(Succ(x653))))))), Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Succ(x653))), Succ(Zero), Succ(Succ(x653)))))), Integer(Pos(Succ(Succ(Succ(Succ(Succ(x653))))))), Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))))) We simplified constraint (16) using rules (III), (IV) which results in the following new constraint: (20) (new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))), Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Zero)), Succ(Zero), Succ(Zero))))), Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))), Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))))) We simplified constraint (17) using rules (III), (IV) which results in the following new constraint: (21) (new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))), Integer(Neg(Succ(Succ(Succ(Succ(Succ(x658))))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS01(Succ(Succ(Succ(x658))), Succ(Succ(Zero)), Succ(Succ(x658)), Succ(Zero))))), Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))), Integer(Neg(Succ(Succ(Succ(Succ(Succ(x658))))))))) We simplified constraint (12) using rules (III), (IV), (VII) which results in the following new constraint: (22) (new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(Zero))))), Integer(Neg(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS01(Succ(Zero), Succ(Zero), Zero, Zero)))), Integer(Pos(Succ(Succ(Succ(Zero))))), Integer(Neg(Succ(Succ(Succ(Zero))))))) We simplified constraint (13) using rules (III), (IV), (VII) which results in the following new constraint: (23) (new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(Zero))))), Integer(Neg(Succ(Succ(Succ(Succ(x645)))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS01(Succ(Succ(x645)), Succ(Zero), Succ(x645), Zero)))), Integer(Pos(Succ(Succ(Succ(Zero))))), Integer(Neg(Succ(Succ(Succ(Succ(x645)))))))) For Pair new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'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_primModNatS01(x681, x680, x681, x680)=Succ(x675) & Succ(x389)=Succ(Succ(x681)) & Succ(Zero)=Succ(x680) ==> 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_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))))))) 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 simplified constraint (8) using rules (I), (II), (III), (VII) which results in the following new constraint: (11) (x681=x683 & x680=x684 & new_primModNatS01(x681, x680, x683, x684)=Succ(x675) & Zero=x680 ==> new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(Succ(x681)))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(Succ(x681)), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(Succ(x681)))))))) We solved constraint (9) using rules (I), (II).We simplified constraint (11) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x681, x680, x683, x684)=Succ(x675) which results in the following new constraints: (12) (new_primModNatS01(x688, x687, x686, x685)=Succ(x675) & x688=Succ(x686) & x687=Succ(x685) & Zero=x687 & (\/x689:new_primModNatS01(x688, x687, x686, x685)=Succ(x689) & x688=x686 & x687=x685 & Zero=x687 ==> new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(Succ(x688)))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(Succ(x688)), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(Succ(x688)))))))) ==> new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(Succ(x688)))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(Succ(x688)), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(Succ(x688)))))))) (13) (Succ(Succ(x692))=Succ(x675) & x692=Zero & x691=Succ(x690) & Zero=x691 ==> new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(Succ(x692)))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(Succ(x692)), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(Succ(x692)))))))) (14) (new_primModNatS02(x694, x693)=Succ(x675) & x694=Zero & x693=Zero & Zero=x693 ==> new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(Succ(x694)))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(Succ(x694)), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(Succ(x694)))))))) (15) (new_primModNatS02(x697, x696)=Succ(x675) & x697=Succ(x695) & 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 solved constraint (12) using rules (I), (II), (III).We solved constraint (13) using rules (I), (II), (III), (IV).We simplified constraint (14) using rules (I), (II), (III), (IV), (VII) which results in the following new constraint: (16) (new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(Succ(Zero)), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))))) We simplified constraint (15) using rules (I), (II), (III), (IV), (VII) which results in the following new constraint: (17) (new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(Succ(Succ(x695))))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(Succ(Succ(x695))), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(Succ(Succ(x695))))))))) For Pair new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) the following chains were created: *We consider the chain new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x410))))), Integer(Neg(Succ(Succ(Succ(x411)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS01(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_primModNatS01(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_primModNatS01(Succ(x411), Succ(x410), x411, x410)))), Integer(Neg(Succ(Succ(Succ(x410))))), Integer(Neg(Succ(Succ(Succ(x411))))))) We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: (2) (Integer(Neg(new_primModNatS01(Succ(x411), Succ(x410), x411, x410)))=x702 & new_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_primModNatS01(Succ(x411), Succ(x410), x411, x410)))), Integer(Neg(Succ(Succ(Succ(x410))))), Integer(Neg(Succ(Succ(Succ(x411))))))) We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_esEs(x702)=False which results in the following new constraints: (3) (False=False & Integer(Neg(new_primModNatS01(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_primModNatS01(Succ(x411), Succ(x410), x411, x410)))), Integer(Neg(Succ(Succ(Succ(x410))))), Integer(Neg(Succ(Succ(Succ(x411))))))) (4) (False=False & Integer(Neg(new_primModNatS01(Succ(x411), Succ(x410), x411, x410)))=Integer(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_primModNatS01(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_primModNatS01(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_primModNatS01(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_primModNatS01(x705, x706, x411, x410)=Succ(x704) which results in the following new constraints: (6) (new_primModNatS01(x710, x709, x708, x707)=Succ(x704) & Succ(Succ(x708))=x710 & Succ(Succ(x707))=x709 & (\/x711:new_primModNatS01(x710, x709, x708, x707)=Succ(x711) & Succ(x708)=x710 & Succ(x707)=x709 ==> new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x707))))), Integer(Neg(Succ(Succ(Succ(x708))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS01(Succ(x708), Succ(x707), x708, x707)))), Integer(Neg(Succ(Succ(Succ(x707))))), Integer(Neg(Succ(Succ(Succ(x708))))))) ==> new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(Succ(x707)))))), Integer(Neg(Succ(Succ(Succ(Succ(x708)))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS01(Succ(Succ(x708)), Succ(Succ(x707)), Succ(x708), Succ(x707))))), Integer(Neg(Succ(Succ(Succ(Succ(x707)))))), Integer(Neg(Succ(Succ(Succ(Succ(x708)))))))) (7) (Succ(Succ(x714))=Succ(x704) & Succ(Zero)=x714 & Succ(Succ(x712))=x713 ==> new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(Succ(x712)))))), Integer(Neg(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS01(Succ(Zero), Succ(Succ(x712)), Zero, Succ(x712))))), Integer(Neg(Succ(Succ(Succ(Succ(x712)))))), Integer(Neg(Succ(Succ(Succ(Zero))))))) (8) (new_primModNatS02(x716, x715)=Succ(x704) & Succ(Zero)=x716 & Succ(Zero)=x715 ==> new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(Zero))))), Integer(Neg(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS01(Succ(Zero), Succ(Zero), Zero, Zero)))), Integer(Neg(Succ(Succ(Succ(Zero))))), Integer(Neg(Succ(Succ(Succ(Zero))))))) (9) (new_primModNatS02(x719, x718)=Succ(x704) & Succ(Succ(x717))=x719 & Succ(Zero)=x718 ==> new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(Zero))))), Integer(Neg(Succ(Succ(Succ(Succ(x717)))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS01(Succ(Succ(x717)), Succ(Zero), Succ(x717), Zero)))), Integer(Neg(Succ(Succ(Succ(Zero))))), Integer(Neg(Succ(Succ(Succ(Succ(x717)))))))) We simplified constraint (6) using rule (IV) which results in the following new constraint: (10) (new_primModNatS01(x710, x709, x708, x707)=Succ(x704) & Succ(Succ(x708))=x710 & Succ(Succ(x707))=x709 ==> new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(Succ(x707)))))), Integer(Neg(Succ(Succ(Succ(Succ(x708)))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS01(Succ(Succ(x708)), Succ(Succ(x707)), Succ(x708), Succ(x707))))), Integer(Neg(Succ(Succ(Succ(Succ(x707)))))), Integer(Neg(Succ(Succ(Succ(Succ(x708)))))))) We simplified constraint (7) using rules (I), (II), (IV) which results in the following new constraint: (11) (new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(Succ(x712)))))), Integer(Neg(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS01(Succ(Zero), Succ(Succ(x712)), Zero, Succ(x712))))), Integer(Neg(Succ(Succ(Succ(Succ(x712)))))), Integer(Neg(Succ(Succ(Succ(Zero))))))) We simplified constraint (8) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x716, x715)=Succ(x704) which results in the following new constraint: (12) (new_primModNatS1(new_primMinusNatS2(Succ(x734), Succ(x733)), Succ(x733))=Succ(x704) & Succ(Zero)=x734 & Succ(Zero)=x733 ==> new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(Zero))))), Integer(Neg(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS01(Succ(Zero), Succ(Zero), Zero, Zero)))), Integer(Neg(Succ(Succ(Succ(Zero))))), Integer(Neg(Succ(Succ(Succ(Zero))))))) We simplified constraint (9) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x719, x718)=Succ(x704) which results in the following new constraint: (13) (new_primModNatS1(new_primMinusNatS2(Succ(x740), Succ(x739)), Succ(x739))=Succ(x704) & Succ(Succ(x717))=x740 & Succ(Zero)=x739 ==> new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(Zero))))), Integer(Neg(Succ(Succ(Succ(Succ(x717)))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS01(Succ(Succ(x717)), Succ(Zero), Succ(x717), Zero)))), Integer(Neg(Succ(Succ(Succ(Zero))))), Integer(Neg(Succ(Succ(Succ(Succ(x717)))))))) We simplified constraint (10) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x710, x709, x708, x707)=Succ(x704) which results in the following new constraints: (14) (new_primModNatS01(x723, x722, x721, x720)=Succ(x704) & Succ(Succ(Succ(x721)))=x723 & Succ(Succ(Succ(x720)))=x722 & (\/x724:new_primModNatS01(x723, x722, x721, x720)=Succ(x724) & Succ(Succ(x721))=x723 & Succ(Succ(x720))=x722 ==> new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(Succ(x720)))))), Integer(Neg(Succ(Succ(Succ(Succ(x721)))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS01(Succ(Succ(x721)), Succ(Succ(x720)), Succ(x721), Succ(x720))))), Integer(Neg(Succ(Succ(Succ(Succ(x720)))))), Integer(Neg(Succ(Succ(Succ(Succ(x721)))))))) ==> new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(Succ(Succ(x720))))))), Integer(Neg(Succ(Succ(Succ(Succ(Succ(x721))))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS01(Succ(Succ(Succ(x721))), Succ(Succ(Succ(x720))), Succ(Succ(x721)), Succ(Succ(x720)))))), Integer(Neg(Succ(Succ(Succ(Succ(Succ(x720))))))), Integer(Neg(Succ(Succ(Succ(Succ(Succ(x721))))))))) (15) (Succ(Succ(x727))=Succ(x704) & Succ(Succ(Zero))=x727 & Succ(Succ(Succ(x725)))=x726 ==> new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(Succ(Succ(x725))))))), Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Succ(x725))), Succ(Zero), Succ(Succ(x725)))))), Integer(Neg(Succ(Succ(Succ(Succ(Succ(x725))))))), Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))))) (16) (new_primModNatS02(x729, x728)=Succ(x704) & Succ(Succ(Zero))=x729 & Succ(Succ(Zero))=x728 ==> new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))), Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Zero)), Succ(Zero), Succ(Zero))))), Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))), Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))))) (17) (new_primModNatS02(x732, x731)=Succ(x704) & Succ(Succ(Succ(x730)))=x732 & Succ(Succ(Zero))=x731 ==> new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))), Integer(Neg(Succ(Succ(Succ(Succ(Succ(x730))))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS01(Succ(Succ(Succ(x730))), Succ(Succ(Zero)), Succ(Succ(x730)), Succ(Zero))))), Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))), Integer(Neg(Succ(Succ(Succ(Succ(Succ(x730))))))))) We simplified constraint (14) using rules (III), (IV) which results in the following new constraint: (18) (new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(Succ(Succ(x720))))))), Integer(Neg(Succ(Succ(Succ(Succ(Succ(x721))))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS01(Succ(Succ(Succ(x721))), Succ(Succ(Succ(x720))), Succ(Succ(x721)), Succ(Succ(x720)))))), Integer(Neg(Succ(Succ(Succ(Succ(Succ(x720))))))), Integer(Neg(Succ(Succ(Succ(Succ(Succ(x721))))))))) We simplified constraint (15) using rules (I), (II), (IV) which results in the following new constraint: (19) (new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(Succ(Succ(x725))))))), Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Succ(x725))), Succ(Zero), Succ(Succ(x725)))))), Integer(Neg(Succ(Succ(Succ(Succ(Succ(x725))))))), Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))))) We simplified constraint (16) using rules (III), (IV) which results in the following new constraint: (20) (new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))), Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Zero)), Succ(Zero), Succ(Zero))))), Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))), Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))))) We simplified constraint (17) using rules (III), (IV) which results in the following new constraint: (21) (new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))), Integer(Neg(Succ(Succ(Succ(Succ(Succ(x730))))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS01(Succ(Succ(Succ(x730))), Succ(Succ(Zero)), Succ(Succ(x730)), Succ(Zero))))), Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))), Integer(Neg(Succ(Succ(Succ(Succ(Succ(x730))))))))) We simplified constraint (12) using rules (III), (IV), (VII) which results in the following new constraint: (22) (new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(Zero))))), Integer(Neg(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS01(Succ(Zero), Succ(Zero), Zero, Zero)))), Integer(Neg(Succ(Succ(Succ(Zero))))), Integer(Neg(Succ(Succ(Succ(Zero))))))) We simplified constraint (13) using rules (III), (IV), (VII) which results in the following new constraint: (23) (new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(Zero))))), Integer(Neg(Succ(Succ(Succ(Succ(x717)))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS01(Succ(Succ(x717)), Succ(Zero), Succ(x717), Zero)))), Integer(Neg(Succ(Succ(Succ(Zero))))), Integer(Neg(Succ(Succ(Succ(Succ(x717)))))))) For Pair new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'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_primModNatS01(x753, x752, x753, x752)=Succ(x747) & Succ(x467)=Succ(Succ(x753)) & Succ(Zero)=Succ(x752) ==> 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_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))))))) 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 simplified constraint (8) using rules (I), (II), (III), (VII) which results in the following new constraint: (11) (x753=x755 & x752=x756 & new_primModNatS01(x753, x752, x755, x756)=Succ(x747) & Zero=x752 ==> new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(Succ(x753)))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(Succ(x753)), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(Succ(x753)))))))) We solved constraint (9) using rules (I), (II).We simplified constraint (11) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x753, x752, x755, x756)=Succ(x747) which results in the following new constraints: (12) (new_primModNatS01(x760, x759, x758, x757)=Succ(x747) & x760=Succ(x758) & x759=Succ(x757) & Zero=x759 & (\/x761:new_primModNatS01(x760, x759, x758, x757)=Succ(x761) & x760=x758 & x759=x757 & Zero=x759 ==> new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(Succ(x760)))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(Succ(x760)), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(Succ(x760)))))))) ==> new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(Succ(x760)))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(Succ(x760)), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(Succ(x760)))))))) (13) (Succ(Succ(x764))=Succ(x747) & x764=Zero & x763=Succ(x762) & Zero=x763 ==> new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(Succ(x764)))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(Succ(x764)), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(Succ(x764)))))))) (14) (new_primModNatS02(x766, x765)=Succ(x747) & x766=Zero & x765=Zero & Zero=x765 ==> new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(Succ(x766)))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(Succ(x766)), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(Succ(x766)))))))) (15) (new_primModNatS02(x769, x768)=Succ(x747) & x769=Succ(x767) & 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 solved constraint (12) using rules (I), (II), (III).We solved constraint (13) using rules (I), (II), (III), (IV).We simplified constraint (14) using rules (I), (II), (III), (IV), (VII) which results in the following new constraint: (16) (new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(Succ(Zero)), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))))) We simplified constraint (15) using rules (I), (II), (III), (IV), (VII) which results in the following new constraint: (17) (new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(Succ(Succ(x767))))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(Succ(Succ(x767))), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(Succ(Succ(x767))))))))) To summarize, we get the following constraints P__>=_ for the following pairs. *new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'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_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) *(new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(Succ(Succ(x509))))))), Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Succ(x509))), Succ(Zero), Succ(Succ(x509)))))), Integer(Neg(Succ(Succ(Succ(Succ(Succ(x509))))))), Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))))) *(new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(Succ(x496)))))), Integer(Pos(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS01(Succ(Zero), Succ(Succ(x496)), Zero, Succ(x496))))), Integer(Neg(Succ(Succ(Succ(Succ(x496)))))), Integer(Pos(Succ(Succ(Succ(Zero))))))) *(new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(Succ(Succ(x504))))))), Integer(Pos(Succ(Succ(Succ(Succ(Succ(x505))))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS01(Succ(Succ(Succ(x505))), Succ(Succ(Succ(x504))), Succ(Succ(x505)), Succ(Succ(x504)))))), Integer(Neg(Succ(Succ(Succ(Succ(Succ(x504))))))), Integer(Pos(Succ(Succ(Succ(Succ(Succ(x505))))))))) *(new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))), Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Zero)), Succ(Zero), Succ(Zero))))), Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))), Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))))) *(new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))), Integer(Pos(Succ(Succ(Succ(Succ(Succ(x514))))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS01(Succ(Succ(Succ(x514))), Succ(Succ(Zero)), Succ(Succ(x514)), Succ(Zero))))), Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))), Integer(Pos(Succ(Succ(Succ(Succ(Succ(x514))))))))) *(new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(Zero))))), Integer(Pos(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS01(Succ(Zero), Succ(Zero), Zero, Zero)))), Integer(Neg(Succ(Succ(Succ(Zero))))), Integer(Pos(Succ(Succ(Succ(Zero))))))) *(new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(Zero))))), Integer(Pos(Succ(Succ(Succ(Succ(x501)))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS01(Succ(Succ(x501)), Succ(Zero), Succ(x501), Zero)))), Integer(Neg(Succ(Succ(Succ(Zero))))), Integer(Pos(Succ(Succ(Succ(Succ(x501)))))))) *new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'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(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(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(Succ(Succ(x551))))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(Succ(Succ(x551))), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(Succ(Succ(x551))))))))) *new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) *(new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(Succ(Succ(x581))))))), Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Succ(x581))), Succ(Zero), Succ(Succ(x581)))))), Integer(Pos(Succ(Succ(Succ(Succ(Succ(x581))))))), Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))))) *(new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(Succ(x568)))))), Integer(Pos(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS01(Succ(Zero), Succ(Succ(x568)), Zero, Succ(x568))))), Integer(Pos(Succ(Succ(Succ(Succ(x568)))))), Integer(Pos(Succ(Succ(Succ(Zero))))))) *(new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(Succ(Succ(x576))))))), Integer(Pos(Succ(Succ(Succ(Succ(Succ(x577))))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS01(Succ(Succ(Succ(x577))), Succ(Succ(Succ(x576))), Succ(Succ(x577)), Succ(Succ(x576)))))), Integer(Pos(Succ(Succ(Succ(Succ(Succ(x576))))))), Integer(Pos(Succ(Succ(Succ(Succ(Succ(x577))))))))) *(new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))), Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Zero)), Succ(Zero), Succ(Zero))))), Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))), Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))))) *(new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))), Integer(Pos(Succ(Succ(Succ(Succ(Succ(x586))))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS01(Succ(Succ(Succ(x586))), Succ(Succ(Zero)), Succ(Succ(x586)), Succ(Zero))))), Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))), Integer(Pos(Succ(Succ(Succ(Succ(Succ(x586))))))))) *(new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(Zero))))), Integer(Pos(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS01(Succ(Zero), Succ(Zero), Zero, Zero)))), Integer(Pos(Succ(Succ(Succ(Zero))))), Integer(Pos(Succ(Succ(Succ(Zero))))))) *(new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(Zero))))), Integer(Pos(Succ(Succ(Succ(Succ(x573)))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS01(Succ(Succ(x573)), Succ(Zero), Succ(x573), Zero)))), Integer(Pos(Succ(Succ(Succ(Zero))))), Integer(Pos(Succ(Succ(Succ(Succ(x573)))))))) *new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'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(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(Zero)))), Integer(Pos(Succ(Succ(Succ(Succ(Succ(x623))))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(Succ(Succ(x623))), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(Succ(Succ(x623))))))))) *new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) *(new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(Succ(Succ(x653))))))), Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Succ(x653))), Succ(Zero), Succ(Succ(x653)))))), Integer(Pos(Succ(Succ(Succ(Succ(Succ(x653))))))), Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))))) *(new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(Succ(x640)))))), Integer(Neg(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS01(Succ(Zero), Succ(Succ(x640)), Zero, Succ(x640))))), Integer(Pos(Succ(Succ(Succ(Succ(x640)))))), Integer(Neg(Succ(Succ(Succ(Zero))))))) *(new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(Succ(Succ(x648))))))), Integer(Neg(Succ(Succ(Succ(Succ(Succ(x649))))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS01(Succ(Succ(Succ(x649))), Succ(Succ(Succ(x648))), Succ(Succ(x649)), Succ(Succ(x648)))))), Integer(Pos(Succ(Succ(Succ(Succ(Succ(x648))))))), Integer(Neg(Succ(Succ(Succ(Succ(Succ(x649))))))))) *(new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))), Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Zero)), Succ(Zero), Succ(Zero))))), Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))), Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))))) *(new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))), Integer(Neg(Succ(Succ(Succ(Succ(Succ(x658))))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS01(Succ(Succ(Succ(x658))), Succ(Succ(Zero)), Succ(Succ(x658)), Succ(Zero))))), Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))), Integer(Neg(Succ(Succ(Succ(Succ(Succ(x658))))))))) *(new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(Zero))))), Integer(Neg(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS01(Succ(Zero), Succ(Zero), Zero, Zero)))), Integer(Pos(Succ(Succ(Succ(Zero))))), Integer(Neg(Succ(Succ(Succ(Zero))))))) *(new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(Zero))))), Integer(Neg(Succ(Succ(Succ(Succ(x645)))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS01(Succ(Succ(x645)), Succ(Zero), Succ(x645), Zero)))), Integer(Pos(Succ(Succ(Succ(Zero))))), Integer(Neg(Succ(Succ(Succ(Succ(x645)))))))) *new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'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(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(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(Succ(Succ(x695))))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(Succ(Succ(x695))), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(Succ(Succ(x695))))))))) *new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) *(new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(Succ(Succ(x725))))))), Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Succ(x725))), Succ(Zero), Succ(Succ(x725)))))), Integer(Neg(Succ(Succ(Succ(Succ(Succ(x725))))))), Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))))) *(new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(Succ(x712)))))), Integer(Neg(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS01(Succ(Zero), Succ(Succ(x712)), Zero, Succ(x712))))), Integer(Neg(Succ(Succ(Succ(Succ(x712)))))), Integer(Neg(Succ(Succ(Succ(Zero))))))) *(new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(Succ(Succ(x720))))))), Integer(Neg(Succ(Succ(Succ(Succ(Succ(x721))))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS01(Succ(Succ(Succ(x721))), Succ(Succ(Succ(x720))), Succ(Succ(x721)), Succ(Succ(x720)))))), Integer(Neg(Succ(Succ(Succ(Succ(Succ(x720))))))), Integer(Neg(Succ(Succ(Succ(Succ(Succ(x721))))))))) *(new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))), Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Zero)), Succ(Zero), Succ(Zero))))), Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))), Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))))) *(new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))), Integer(Neg(Succ(Succ(Succ(Succ(Succ(x730))))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS01(Succ(Succ(Succ(x730))), Succ(Succ(Zero)), Succ(Succ(x730)), Succ(Zero))))), Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))), Integer(Neg(Succ(Succ(Succ(Succ(Succ(x730))))))))) *(new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(Zero))))), Integer(Neg(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS01(Succ(Zero), Succ(Zero), Zero, Zero)))), Integer(Neg(Succ(Succ(Succ(Zero))))), Integer(Neg(Succ(Succ(Succ(Zero))))))) *(new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(Zero))))), Integer(Neg(Succ(Succ(Succ(Succ(x717)))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS01(Succ(Succ(x717)), Succ(Zero), Succ(x717), Zero)))), Integer(Neg(Succ(Succ(Succ(Zero))))), Integer(Neg(Succ(Succ(Succ(Succ(x717)))))))) *new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'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(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)))))))) *(new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(Succ(Succ(x767))))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(Succ(Succ(x767))), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(Succ(Succ(x767))))))))) The constraints for P_> respective P_bound are constructed from P__>=_ where we just replace every occurence of "t _>=_ s" in P__>=_ by "t > s" respective "t _>=_ c". Here c stands for the fresh constant used for P_bound. ---------------------------------------- (878) 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_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'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_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'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_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'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_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'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_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 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_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) new_primMinusNatS0(vuz32000) -> Succ(vuz32000) 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_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_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) new_esEs(Integer(Neg(Zero))) -> True new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 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 The set Q consists of the following terms: new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primMinusNatS1 new_esEs(Integer(Pos(Zero))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_esEs(Integer(Neg(Succ(x0)))) new_primMinusNatS2(Succ(x0), Zero) new_primMinusNatS2(Zero, Zero) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) new_primRemInt(Pos(x0), Pos(Zero)) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Integer(x0), Integer(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primRemInt(Neg(x0), Neg(Succ(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_primModNatS01(x0, x1, Zero, Succ(x2)) new_esEs(Integer(Pos(Succ(x0)))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS01(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (879) Obligation: Q DP problem: The TRS P consists of the following rules: new_primMulNat(Succ(vuz3100), Succ(vuz4100)) -> new_primMulNat(vuz3100, Succ(vuz4100)) R is empty. Q is empty. We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (880) QDPSizeChangeProof (EQUIVALENT) By using the subterm criterion [SUBTERM_CRITERION] together with the size-change analysis [AAECC05] we have proven that there are no infinite chains for this DP problem. From the DPs we obtained the following set of size-change graphs: *new_primMulNat(Succ(vuz3100), Succ(vuz4100)) -> new_primMulNat(vuz3100, Succ(vuz4100)) The graph contains the following edges 1 > 1, 2 >= 2 ---------------------------------------- (881) YES ---------------------------------------- (882) 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. ---------------------------------------- (883) 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 ---------------------------------------- (884) YES ---------------------------------------- (885) Obligation: Q DP problem: The TRS P consists of the following rules: new_primPlusNat(Succ(vuz300), Succ(vuz400)) -> new_primPlusNat(vuz300, vuz400) R is empty. Q is empty. We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (886) QDPSizeChangeProof (EQUIVALENT) By using the subterm criterion [SUBTERM_CRITERION] together with the size-change analysis [AAECC05] we have proven that there are no infinite chains for this DP problem. From the DPs we obtained the following set of size-change graphs: *new_primPlusNat(Succ(vuz300), Succ(vuz400)) -> new_primPlusNat(vuz300, vuz400) The graph contains the following edges 1 > 1, 2 > 2 ---------------------------------------- (887) YES ---------------------------------------- (888) Obligation: Q DP problem: The TRS P consists of the following rules: new_primMinusNat(Succ(vuz300), Succ(vuz400)) -> new_primMinusNat(vuz300, vuz400) R is empty. Q is empty. We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (889) QDPSizeChangeProof (EQUIVALENT) By using the subterm criterion [SUBTERM_CRITERION] together with the size-change analysis [AAECC05] we have proven that there are no infinite chains for this DP problem. From the DPs we obtained the following set of size-change graphs: *new_primMinusNat(Succ(vuz300), Succ(vuz400)) -> new_primMinusNat(vuz300, vuz400) The graph contains the following edges 1 > 1, 2 > 2 ---------------------------------------- (890) YES ---------------------------------------- (891) Narrow (COMPLETE) Haskell To QDPs digraph dp_graph { node [outthreshold=100, inthreshold=100];1[label="(-)",fontsize=16,color="grey",shape="box"];1 -> 3[label="",style="dashed", color="grey", weight=3]; 3[label="(-) vuz3",fontsize=16,color="grey",shape="box"];3 -> 4[label="",style="dashed", color="grey", weight=3]; 4[label="(-) vuz3 vuz4",fontsize=16,color="blue",shape="box"];1409[label="- :: Double -> Double -> Double",fontsize=10,color="white",style="solid",shape="box"];4 -> 1409[label="",style="solid", color="blue", weight=9]; 1409 -> 5[label="",style="solid", color="blue", weight=3]; 1410[label="- :: Integer -> Integer -> Integer",fontsize=10,color="white",style="solid",shape="box"];4 -> 1410[label="",style="solid", color="blue", weight=9]; 1410 -> 6[label="",style="solid", color="blue", weight=3]; 1411[label="- :: Int -> Int -> Int",fontsize=10,color="white",style="solid",shape="box"];4 -> 1411[label="",style="solid", color="blue", weight=9]; 1411 -> 7[label="",style="solid", color="blue", weight=3]; 1412[label="- :: Float -> Float -> Float",fontsize=10,color="white",style="solid",shape="box"];4 -> 1412[label="",style="solid", color="blue", weight=9]; 1412 -> 8[label="",style="solid", color="blue", weight=3]; 1413[label="- :: (Ratio a) -> (Ratio a) -> Ratio a",fontsize=10,color="white",style="solid",shape="box"];4 -> 1413[label="",style="solid", color="blue", weight=9]; 1413 -> 9[label="",style="solid", color="blue", weight=3]; 5[label="(-) vuz3 vuz4",fontsize=16,color="black",shape="box"];5 -> 10[label="",style="solid", color="black", weight=3]; 6[label="(-) vuz3 vuz4",fontsize=16,color="burlywood",shape="box"];1414[label="vuz3/Integer vuz30",fontsize=10,color="white",style="solid",shape="box"];6 -> 1414[label="",style="solid", color="burlywood", weight=9]; 1414 -> 11[label="",style="solid", color="burlywood", weight=3]; 7[label="(-) vuz3 vuz4",fontsize=16,color="black",shape="triangle"];7 -> 12[label="",style="solid", color="black", weight=3]; 8[label="(-) vuz3 vuz4",fontsize=16,color="black",shape="box"];8 -> 13[label="",style="solid", color="black", weight=3]; 9[label="(-) vuz3 vuz4",fontsize=16,color="black",shape="box"];9 -> 14[label="",style="solid", color="black", weight=3]; 10[label="primMinusDouble vuz3 vuz4",fontsize=16,color="burlywood",shape="box"];1415[label="vuz3/Double vuz30 vuz31",fontsize=10,color="white",style="solid",shape="box"];10 -> 1415[label="",style="solid", color="burlywood", weight=9]; 1415 -> 15[label="",style="solid", color="burlywood", weight=3]; 11[label="(-) Integer vuz30 vuz4",fontsize=16,color="burlywood",shape="box"];1416[label="vuz4/Integer vuz40",fontsize=10,color="white",style="solid",shape="box"];11 -> 1416[label="",style="solid", color="burlywood", weight=9]; 1416 -> 16[label="",style="solid", color="burlywood", weight=3]; 12[label="primMinusInt vuz3 vuz4",fontsize=16,color="burlywood",shape="triangle"];1417[label="vuz3/Pos vuz30",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]; 1418[label="vuz3/Neg vuz30",fontsize=10,color="white",style="solid",shape="box"];12 -> 1418[label="",style="solid", color="burlywood", weight=9]; 1418 -> 18[label="",style="solid", color="burlywood", weight=3]; 13[label="primMinusFloat vuz3 vuz4",fontsize=16,color="burlywood",shape="box"];1419[label="vuz3/Float vuz30 vuz31",fontsize=10,color="white",style="solid",shape="box"];13 -> 1419[label="",style="solid", color="burlywood", weight=9]; 1419 -> 19[label="",style="solid", color="burlywood", weight=3]; 14[label="vuz3 + (negate vuz4)",fontsize=16,color="burlywood",shape="box"];1420[label="vuz3/vuz30 :% vuz31",fontsize=10,color="white",style="solid",shape="box"];14 -> 1420[label="",style="solid", color="burlywood", weight=9]; 1420 -> 20[label="",style="solid", color="burlywood", weight=3]; 15[label="primMinusDouble (Double vuz30 vuz31) vuz4",fontsize=16,color="burlywood",shape="box"];1421[label="vuz4/Double vuz40 vuz41",fontsize=10,color="white",style="solid",shape="box"];15 -> 1421[label="",style="solid", color="burlywood", weight=9]; 1421 -> 21[label="",style="solid", color="burlywood", weight=3]; 16[label="(-) Integer vuz30 Integer vuz40",fontsize=16,color="black",shape="box"];16 -> 22[label="",style="solid", color="black", weight=3]; 17[label="primMinusInt (Pos vuz30) vuz4",fontsize=16,color="burlywood",shape="box"];1422[label="vuz4/Pos vuz40",fontsize=10,color="white",style="solid",shape="box"];17 -> 1422[label="",style="solid", color="burlywood", weight=9]; 1422 -> 23[label="",style="solid", color="burlywood", weight=3]; 1423[label="vuz4/Neg vuz40",fontsize=10,color="white",style="solid",shape="box"];17 -> 1423[label="",style="solid", color="burlywood", weight=9]; 1423 -> 24[label="",style="solid", color="burlywood", weight=3]; 18[label="primMinusInt (Neg vuz30) vuz4",fontsize=16,color="burlywood",shape="box"];1424[label="vuz4/Pos vuz40",fontsize=10,color="white",style="solid",shape="box"];18 -> 1424[label="",style="solid", color="burlywood", weight=9]; 1424 -> 25[label="",style="solid", color="burlywood", weight=3]; 1425[label="vuz4/Neg vuz40",fontsize=10,color="white",style="solid",shape="box"];18 -> 1425[label="",style="solid", color="burlywood", weight=9]; 1425 -> 26[label="",style="solid", color="burlywood", weight=3]; 19[label="primMinusFloat (Float vuz30 vuz31) vuz4",fontsize=16,color="burlywood",shape="box"];1426[label="vuz4/Float vuz40 vuz41",fontsize=10,color="white",style="solid",shape="box"];19 -> 1426[label="",style="solid", color="burlywood", weight=9]; 1426 -> 27[label="",style="solid", color="burlywood", weight=3]; 20[label="vuz30 :% vuz31 + (negate vuz4)",fontsize=16,color="burlywood",shape="box"];1427[label="vuz4/vuz40 :% vuz41",fontsize=10,color="white",style="solid",shape="box"];20 -> 1427[label="",style="solid", color="burlywood", weight=9]; 1427 -> 28[label="",style="solid", color="burlywood", weight=3]; 21[label="primMinusDouble (Double vuz30 vuz31) (Double vuz40 vuz41)",fontsize=16,color="black",shape="box"];21 -> 29[label="",style="solid", color="black", weight=3]; 22[label="Integer (primMinusInt vuz30 vuz40)",fontsize=16,color="green",shape="box"];22 -> 30[label="",style="dashed", color="green", weight=3]; 23[label="primMinusInt (Pos vuz30) (Pos vuz40)",fontsize=16,color="black",shape="box"];23 -> 31[label="",style="solid", color="black", weight=3]; 24[label="primMinusInt (Pos vuz30) (Neg vuz40)",fontsize=16,color="black",shape="box"];24 -> 32[label="",style="solid", color="black", weight=3]; 25[label="primMinusInt (Neg vuz30) (Pos vuz40)",fontsize=16,color="black",shape="box"];25 -> 33[label="",style="solid", color="black", weight=3]; 26[label="primMinusInt (Neg vuz30) (Neg vuz40)",fontsize=16,color="black",shape="box"];26 -> 34[label="",style="solid", color="black", weight=3]; 27[label="primMinusFloat (Float vuz30 vuz31) (Float vuz40 vuz41)",fontsize=16,color="black",shape="box"];27 -> 35[label="",style="solid", color="black", weight=3]; 28[label="vuz30 :% vuz31 + (negate vuz40 :% vuz41)",fontsize=16,color="black",shape="box"];28 -> 36[label="",style="solid", color="black", weight=3]; 29[label="Double (vuz30 * vuz41 - vuz40 * vuz31) (vuz31 * vuz41)",fontsize=16,color="green",shape="box"];29 -> 37[label="",style="dashed", color="green", weight=3]; 29 -> 38[label="",style="dashed", color="green", weight=3]; 30 -> 12[label="",style="dashed", color="red", weight=0]; 30[label="primMinusInt vuz30 vuz40",fontsize=16,color="magenta"];30 -> 39[label="",style="dashed", color="magenta", weight=3]; 30 -> 40[label="",style="dashed", color="magenta", weight=3]; 31[label="primMinusNat vuz30 vuz40",fontsize=16,color="burlywood",shape="triangle"];1428[label="vuz30/Succ vuz300",fontsize=10,color="white",style="solid",shape="box"];31 -> 1428[label="",style="solid", color="burlywood", weight=9]; 1428 -> 41[label="",style="solid", color="burlywood", weight=3]; 1429[label="vuz30/Zero",fontsize=10,color="white",style="solid",shape="box"];31 -> 1429[label="",style="solid", color="burlywood", weight=9]; 1429 -> 42[label="",style="solid", color="burlywood", weight=3]; 32[label="Pos (primPlusNat vuz30 vuz40)",fontsize=16,color="green",shape="box"];32 -> 43[label="",style="dashed", color="green", weight=3]; 33[label="Neg (primPlusNat vuz30 vuz40)",fontsize=16,color="green",shape="box"];33 -> 44[label="",style="dashed", color="green", weight=3]; 34 -> 31[label="",style="dashed", color="red", weight=0]; 34[label="primMinusNat vuz40 vuz30",fontsize=16,color="magenta"];34 -> 45[label="",style="dashed", color="magenta", weight=3]; 34 -> 46[label="",style="dashed", color="magenta", weight=3]; 35[label="Float (vuz30 * vuz41 - vuz40 * vuz31) (vuz31 * vuz41)",fontsize=16,color="green",shape="box"];35 -> 47[label="",style="dashed", color="green", weight=3]; 35 -> 48[label="",style="dashed", color="green", weight=3]; 36 -> 49[label="",style="dashed", color="red", weight=0]; 36[label="vuz30 :% vuz31 + (negate vuz40) :% vuz41",fontsize=16,color="magenta"];36 -> 50[label="",style="dashed", color="magenta", weight=3]; 36 -> 51[label="",style="dashed", color="magenta", weight=3]; 36 -> 52[label="",style="dashed", color="magenta", weight=3]; 36 -> 53[label="",style="dashed", color="magenta", weight=3]; 37 -> 7[label="",style="dashed", color="red", weight=0]; 37[label="vuz30 * vuz41 - vuz40 * vuz31",fontsize=16,color="magenta"];37 -> 54[label="",style="dashed", color="magenta", weight=3]; 37 -> 55[label="",style="dashed", color="magenta", weight=3]; 38[label="vuz31 * vuz41",fontsize=16,color="black",shape="triangle"];38 -> 56[label="",style="solid", color="black", weight=3]; 39[label="vuz40",fontsize=16,color="green",shape="box"];40[label="vuz30",fontsize=16,color="green",shape="box"];41[label="primMinusNat (Succ vuz300) vuz40",fontsize=16,color="burlywood",shape="box"];1430[label="vuz40/Succ vuz400",fontsize=10,color="white",style="solid",shape="box"];41 -> 1430[label="",style="solid", color="burlywood", weight=9]; 1430 -> 57[label="",style="solid", color="burlywood", weight=3]; 1431[label="vuz40/Zero",fontsize=10,color="white",style="solid",shape="box"];41 -> 1431[label="",style="solid", color="burlywood", weight=9]; 1431 -> 58[label="",style="solid", color="burlywood", weight=3]; 42[label="primMinusNat Zero vuz40",fontsize=16,color="burlywood",shape="box"];1432[label="vuz40/Succ vuz400",fontsize=10,color="white",style="solid",shape="box"];42 -> 1432[label="",style="solid", color="burlywood", weight=9]; 1432 -> 59[label="",style="solid", color="burlywood", weight=3]; 1433[label="vuz40/Zero",fontsize=10,color="white",style="solid",shape="box"];42 -> 1433[label="",style="solid", color="burlywood", weight=9]; 1433 -> 60[label="",style="solid", color="burlywood", weight=3]; 43[label="primPlusNat vuz30 vuz40",fontsize=16,color="burlywood",shape="triangle"];1434[label="vuz30/Succ vuz300",fontsize=10,color="white",style="solid",shape="box"];43 -> 1434[label="",style="solid", color="burlywood", weight=9]; 1434 -> 61[label="",style="solid", color="burlywood", weight=3]; 1435[label="vuz30/Zero",fontsize=10,color="white",style="solid",shape="box"];43 -> 1435[label="",style="solid", color="burlywood", weight=9]; 1435 -> 62[label="",style="solid", color="burlywood", weight=3]; 44 -> 43[label="",style="dashed", color="red", weight=0]; 44[label="primPlusNat vuz30 vuz40",fontsize=16,color="magenta"];44 -> 63[label="",style="dashed", color="magenta", weight=3]; 44 -> 64[label="",style="dashed", color="magenta", weight=3]; 45[label="vuz40",fontsize=16,color="green",shape="box"];46[label="vuz30",fontsize=16,color="green",shape="box"];47 -> 7[label="",style="dashed", color="red", weight=0]; 47[label="vuz30 * vuz41 - vuz40 * vuz31",fontsize=16,color="magenta"];47 -> 65[label="",style="dashed", color="magenta", weight=3]; 47 -> 66[label="",style="dashed", color="magenta", weight=3]; 48 -> 38[label="",style="dashed", color="red", weight=0]; 48[label="vuz31 * vuz41",fontsize=16,color="magenta"];48 -> 67[label="",style="dashed", color="magenta", weight=3]; 48 -> 68[label="",style="dashed", color="magenta", weight=3]; 50[label="vuz41",fontsize=16,color="green",shape="box"];51[label="negate vuz40",fontsize=16,color="blue",shape="box"];1436[label="negate :: Integer -> Integer",fontsize=10,color="white",style="solid",shape="box"];51 -> 1436[label="",style="solid", color="blue", weight=9]; 1436 -> 69[label="",style="solid", color="blue", weight=3]; 1437[label="negate :: Int -> Int",fontsize=10,color="white",style="solid",shape="box"];51 -> 1437[label="",style="solid", color="blue", weight=9]; 1437 -> 70[label="",style="solid", color="blue", weight=3]; 52[label="vuz31",fontsize=16,color="green",shape="box"];53[label="vuz30",fontsize=16,color="green",shape="box"];49[label="vuz10 :% vuz11 + vuz12 :% vuz13",fontsize=16,color="black",shape="triangle"];49 -> 71[label="",style="solid", color="black", weight=3]; 54 -> 38[label="",style="dashed", color="red", weight=0]; 54[label="vuz40 * vuz31",fontsize=16,color="magenta"];54 -> 72[label="",style="dashed", color="magenta", weight=3]; 54 -> 73[label="",style="dashed", color="magenta", weight=3]; 55 -> 38[label="",style="dashed", color="red", weight=0]; 55[label="vuz30 * vuz41",fontsize=16,color="magenta"];55 -> 74[label="",style="dashed", color="magenta", weight=3]; 56[label="primMulInt vuz31 vuz41",fontsize=16,color="burlywood",shape="triangle"];1438[label="vuz31/Pos vuz310",fontsize=10,color="white",style="solid",shape="box"];56 -> 1438[label="",style="solid", color="burlywood", weight=9]; 1438 -> 75[label="",style="solid", color="burlywood", weight=3]; 1439[label="vuz31/Neg vuz310",fontsize=10,color="white",style="solid",shape="box"];56 -> 1439[label="",style="solid", color="burlywood", weight=9]; 1439 -> 76[label="",style="solid", color="burlywood", weight=3]; 57[label="primMinusNat (Succ vuz300) (Succ vuz400)",fontsize=16,color="black",shape="box"];57 -> 77[label="",style="solid", color="black", weight=3]; 58[label="primMinusNat (Succ vuz300) Zero",fontsize=16,color="black",shape="box"];58 -> 78[label="",style="solid", color="black", weight=3]; 59[label="primMinusNat Zero (Succ vuz400)",fontsize=16,color="black",shape="box"];59 -> 79[label="",style="solid", color="black", weight=3]; 60[label="primMinusNat Zero Zero",fontsize=16,color="black",shape="box"];60 -> 80[label="",style="solid", color="black", weight=3]; 61[label="primPlusNat (Succ vuz300) vuz40",fontsize=16,color="burlywood",shape="box"];1440[label="vuz40/Succ vuz400",fontsize=10,color="white",style="solid",shape="box"];61 -> 1440[label="",style="solid", color="burlywood", weight=9]; 1440 -> 81[label="",style="solid", color="burlywood", weight=3]; 1441[label="vuz40/Zero",fontsize=10,color="white",style="solid",shape="box"];61 -> 1441[label="",style="solid", color="burlywood", weight=9]; 1441 -> 82[label="",style="solid", color="burlywood", weight=3]; 62[label="primPlusNat Zero vuz40",fontsize=16,color="burlywood",shape="box"];1442[label="vuz40/Succ vuz400",fontsize=10,color="white",style="solid",shape="box"];62 -> 1442[label="",style="solid", color="burlywood", weight=9]; 1442 -> 83[label="",style="solid", color="burlywood", weight=3]; 1443[label="vuz40/Zero",fontsize=10,color="white",style="solid",shape="box"];62 -> 1443[label="",style="solid", color="burlywood", weight=9]; 1443 -> 84[label="",style="solid", color="burlywood", weight=3]; 63[label="vuz40",fontsize=16,color="green",shape="box"];64[label="vuz30",fontsize=16,color="green",shape="box"];65 -> 38[label="",style="dashed", color="red", weight=0]; 65[label="vuz40 * vuz31",fontsize=16,color="magenta"];65 -> 85[label="",style="dashed", color="magenta", weight=3]; 65 -> 86[label="",style="dashed", color="magenta", weight=3]; 66 -> 38[label="",style="dashed", color="red", weight=0]; 66[label="vuz30 * vuz41",fontsize=16,color="magenta"];66 -> 87[label="",style="dashed", color="magenta", weight=3]; 66 -> 88[label="",style="dashed", color="magenta", weight=3]; 67[label="vuz41",fontsize=16,color="green",shape="box"];68[label="vuz31",fontsize=16,color="green",shape="box"];69[label="negate vuz40",fontsize=16,color="burlywood",shape="triangle"];1444[label="vuz40/Integer vuz400",fontsize=10,color="white",style="solid",shape="box"];69 -> 1444[label="",style="solid", color="burlywood", weight=9]; 1444 -> 89[label="",style="solid", color="burlywood", weight=3]; 70[label="negate vuz40",fontsize=16,color="black",shape="triangle"];70 -> 90[label="",style="solid", color="black", weight=3]; 71[label="reduce (vuz10 * vuz13 + vuz12 * vuz11) (vuz11 * vuz13)",fontsize=16,color="black",shape="box"];71 -> 91[label="",style="solid", color="black", weight=3]; 72[label="vuz31",fontsize=16,color="green",shape="box"];73[label="vuz40",fontsize=16,color="green",shape="box"];74[label="vuz30",fontsize=16,color="green",shape="box"];75[label="primMulInt (Pos vuz310) vuz41",fontsize=16,color="burlywood",shape="box"];1445[label="vuz41/Pos vuz410",fontsize=10,color="white",style="solid",shape="box"];75 -> 1445[label="",style="solid", color="burlywood", weight=9]; 1445 -> 92[label="",style="solid", color="burlywood", weight=3]; 1446[label="vuz41/Neg vuz410",fontsize=10,color="white",style="solid",shape="box"];75 -> 1446[label="",style="solid", color="burlywood", weight=9]; 1446 -> 93[label="",style="solid", color="burlywood", weight=3]; 76[label="primMulInt (Neg vuz310) vuz41",fontsize=16,color="burlywood",shape="box"];1447[label="vuz41/Pos vuz410",fontsize=10,color="white",style="solid",shape="box"];76 -> 1447[label="",style="solid", color="burlywood", weight=9]; 1447 -> 94[label="",style="solid", color="burlywood", weight=3]; 1448[label="vuz41/Neg vuz410",fontsize=10,color="white",style="solid",shape="box"];76 -> 1448[label="",style="solid", color="burlywood", weight=9]; 1448 -> 95[label="",style="solid", color="burlywood", weight=3]; 77 -> 31[label="",style="dashed", color="red", weight=0]; 77[label="primMinusNat vuz300 vuz400",fontsize=16,color="magenta"];77 -> 96[label="",style="dashed", color="magenta", weight=3]; 77 -> 97[label="",style="dashed", color="magenta", weight=3]; 78[label="Pos (Succ vuz300)",fontsize=16,color="green",shape="box"];79[label="Neg (Succ vuz400)",fontsize=16,color="green",shape="box"];80[label="Pos Zero",fontsize=16,color="green",shape="box"];81[label="primPlusNat (Succ vuz300) (Succ vuz400)",fontsize=16,color="black",shape="box"];81 -> 98[label="",style="solid", color="black", weight=3]; 82[label="primPlusNat (Succ vuz300) Zero",fontsize=16,color="black",shape="box"];82 -> 99[label="",style="solid", color="black", weight=3]; 83[label="primPlusNat Zero (Succ vuz400)",fontsize=16,color="black",shape="box"];83 -> 100[label="",style="solid", color="black", weight=3]; 84[label="primPlusNat Zero Zero",fontsize=16,color="black",shape="box"];84 -> 101[label="",style="solid", color="black", weight=3]; 85[label="vuz31",fontsize=16,color="green",shape="box"];86[label="vuz40",fontsize=16,color="green",shape="box"];87[label="vuz41",fontsize=16,color="green",shape="box"];88[label="vuz30",fontsize=16,color="green",shape="box"];89[label="negate Integer vuz400",fontsize=16,color="black",shape="box"];89 -> 102[label="",style="solid", color="black", weight=3]; 90[label="primNegInt vuz40",fontsize=16,color="burlywood",shape="triangle"];1449[label="vuz40/Pos vuz400",fontsize=10,color="white",style="solid",shape="box"];90 -> 1449[label="",style="solid", color="burlywood", weight=9]; 1449 -> 103[label="",style="solid", color="burlywood", weight=3]; 1450[label="vuz40/Neg vuz400",fontsize=10,color="white",style="solid",shape="box"];90 -> 1450[label="",style="solid", color="burlywood", weight=9]; 1450 -> 104[label="",style="solid", color="burlywood", weight=3]; 91[label="reduce2 (vuz10 * vuz13 + vuz12 * vuz11) (vuz11 * vuz13)",fontsize=16,color="black",shape="box"];91 -> 105[label="",style="solid", color="black", weight=3]; 92[label="primMulInt (Pos vuz310) (Pos vuz410)",fontsize=16,color="black",shape="box"];92 -> 106[label="",style="solid", color="black", weight=3]; 93[label="primMulInt (Pos vuz310) (Neg vuz410)",fontsize=16,color="black",shape="box"];93 -> 107[label="",style="solid", color="black", weight=3]; 94[label="primMulInt (Neg vuz310) (Pos vuz410)",fontsize=16,color="black",shape="box"];94 -> 108[label="",style="solid", color="black", weight=3]; 95[label="primMulInt (Neg vuz310) (Neg vuz410)",fontsize=16,color="black",shape="box"];95 -> 109[label="",style="solid", color="black", weight=3]; 96[label="vuz300",fontsize=16,color="green",shape="box"];97[label="vuz400",fontsize=16,color="green",shape="box"];98[label="Succ (Succ (primPlusNat vuz300 vuz400))",fontsize=16,color="green",shape="box"];98 -> 110[label="",style="dashed", color="green", weight=3]; 99[label="Succ vuz300",fontsize=16,color="green",shape="box"];100[label="Succ vuz400",fontsize=16,color="green",shape="box"];101[label="Zero",fontsize=16,color="green",shape="box"];102[label="Integer (primNegInt vuz400)",fontsize=16,color="green",shape="box"];102 -> 111[label="",style="dashed", color="green", weight=3]; 103[label="primNegInt (Pos vuz400)",fontsize=16,color="black",shape="box"];103 -> 112[label="",style="solid", color="black", weight=3]; 104[label="primNegInt (Neg vuz400)",fontsize=16,color="black",shape="box"];104 -> 113[label="",style="solid", color="black", weight=3]; 105 -> 114[label="",style="dashed", color="red", weight=0]; 105[label="reduce2Reduce1 (vuz10 * vuz13 + vuz12 * vuz11) (vuz11 * vuz13) (vuz10 * vuz13 + vuz12 * vuz11) (vuz11 * vuz13) (vuz11 * vuz13 == fromInt (Pos Zero))",fontsize=16,color="magenta"];105 -> 115[label="",style="dashed", color="magenta", weight=3]; 105 -> 116[label="",style="dashed", color="magenta", weight=3]; 105 -> 117[label="",style="dashed", color="magenta", weight=3]; 105 -> 118[label="",style="dashed", color="magenta", weight=3]; 105 -> 119[label="",style="dashed", color="magenta", weight=3]; 106[label="Pos (primMulNat vuz310 vuz410)",fontsize=16,color="green",shape="box"];106 -> 120[label="",style="dashed", color="green", weight=3]; 107[label="Neg (primMulNat vuz310 vuz410)",fontsize=16,color="green",shape="box"];107 -> 121[label="",style="dashed", color="green", weight=3]; 108[label="Neg (primMulNat vuz310 vuz410)",fontsize=16,color="green",shape="box"];108 -> 122[label="",style="dashed", color="green", weight=3]; 109[label="Pos (primMulNat vuz310 vuz410)",fontsize=16,color="green",shape="box"];109 -> 123[label="",style="dashed", color="green", weight=3]; 110 -> 43[label="",style="dashed", color="red", weight=0]; 110[label="primPlusNat vuz300 vuz400",fontsize=16,color="magenta"];110 -> 124[label="",style="dashed", color="magenta", weight=3]; 110 -> 125[label="",style="dashed", color="magenta", weight=3]; 111 -> 90[label="",style="dashed", color="red", weight=0]; 111[label="primNegInt vuz400",fontsize=16,color="magenta"];111 -> 126[label="",style="dashed", color="magenta", weight=3]; 112[label="Neg vuz400",fontsize=16,color="green",shape="box"];113[label="Pos vuz400",fontsize=16,color="green",shape="box"];115[label="vuz11",fontsize=16,color="green",shape="box"];116[label="vuz12",fontsize=16,color="green",shape="box"];117[label="vuz10",fontsize=16,color="green",shape="box"];118[label="vuz11 * vuz13 == fromInt (Pos Zero)",fontsize=16,color="blue",shape="box"];1451[label="== :: Int -> Int -> Bool",fontsize=10,color="white",style="solid",shape="box"];118 -> 1451[label="",style="solid", color="blue", weight=9]; 1451 -> 127[label="",style="solid", color="blue", weight=3]; 1452[label="== :: Integer -> Integer -> Bool",fontsize=10,color="white",style="solid",shape="box"];118 -> 1452[label="",style="solid", color="blue", weight=9]; 1452 -> 128[label="",style="solid", color="blue", weight=3]; 119[label="vuz13",fontsize=16,color="green",shape="box"];114[label="reduce2Reduce1 (vuz20 * vuz21 + vuz22 * vuz23) (vuz23 * vuz21) (vuz20 * vuz21 + vuz22 * vuz23) (vuz23 * vuz21) vuz24",fontsize=16,color="burlywood",shape="triangle"];1453[label="vuz24/False",fontsize=10,color="white",style="solid",shape="box"];114 -> 1453[label="",style="solid", color="burlywood", weight=9]; 1453 -> 129[label="",style="solid", color="burlywood", weight=3]; 1454[label="vuz24/True",fontsize=10,color="white",style="solid",shape="box"];114 -> 1454[label="",style="solid", color="burlywood", weight=9]; 1454 -> 130[label="",style="solid", color="burlywood", weight=3]; 120[label="primMulNat vuz310 vuz410",fontsize=16,color="burlywood",shape="triangle"];1455[label="vuz310/Succ vuz3100",fontsize=10,color="white",style="solid",shape="box"];120 -> 1455[label="",style="solid", color="burlywood", weight=9]; 1455 -> 131[label="",style="solid", color="burlywood", weight=3]; 1456[label="vuz310/Zero",fontsize=10,color="white",style="solid",shape="box"];120 -> 1456[label="",style="solid", color="burlywood", weight=9]; 1456 -> 132[label="",style="solid", color="burlywood", weight=3]; 121 -> 120[label="",style="dashed", color="red", weight=0]; 121[label="primMulNat vuz310 vuz410",fontsize=16,color="magenta"];121 -> 133[label="",style="dashed", color="magenta", weight=3]; 122 -> 120[label="",style="dashed", color="red", weight=0]; 122[label="primMulNat vuz310 vuz410",fontsize=16,color="magenta"];122 -> 134[label="",style="dashed", color="magenta", weight=3]; 123 -> 120[label="",style="dashed", color="red", weight=0]; 123[label="primMulNat vuz310 vuz410",fontsize=16,color="magenta"];123 -> 135[label="",style="dashed", color="magenta", weight=3]; 123 -> 136[label="",style="dashed", color="magenta", weight=3]; 124[label="vuz400",fontsize=16,color="green",shape="box"];125[label="vuz300",fontsize=16,color="green",shape="box"];126[label="vuz400",fontsize=16,color="green",shape="box"];127 -> 137[label="",style="dashed", color="red", weight=0]; 127[label="vuz11 * vuz13 == fromInt (Pos Zero)",fontsize=16,color="magenta"];127 -> 138[label="",style="dashed", color="magenta", weight=3]; 128 -> 1058[label="",style="dashed", color="red", weight=0]; 128[label="vuz11 * vuz13 == fromInt (Pos Zero)",fontsize=16,color="magenta"];128 -> 1059[label="",style="dashed", color="magenta", weight=3]; 129[label="reduce2Reduce1 (vuz20 * vuz21 + vuz22 * vuz23) (vuz23 * vuz21) (vuz20 * vuz21 + vuz22 * vuz23) (vuz23 * vuz21) False",fontsize=16,color="black",shape="box"];129 -> 140[label="",style="solid", color="black", weight=3]; 130[label="reduce2Reduce1 (vuz20 * vuz21 + vuz22 * vuz23) (vuz23 * vuz21) (vuz20 * vuz21 + vuz22 * vuz23) (vuz23 * vuz21) True",fontsize=16,color="black",shape="box"];130 -> 141[label="",style="solid", color="black", weight=3]; 131[label="primMulNat (Succ vuz3100) vuz410",fontsize=16,color="burlywood",shape="box"];1457[label="vuz410/Succ vuz4100",fontsize=10,color="white",style="solid",shape="box"];131 -> 1457[label="",style="solid", color="burlywood", weight=9]; 1457 -> 142[label="",style="solid", color="burlywood", weight=3]; 1458[label="vuz410/Zero",fontsize=10,color="white",style="solid",shape="box"];131 -> 1458[label="",style="solid", color="burlywood", weight=9]; 1458 -> 143[label="",style="solid", color="burlywood", weight=3]; 132[label="primMulNat Zero vuz410",fontsize=16,color="burlywood",shape="box"];1459[label="vuz410/Succ vuz4100",fontsize=10,color="white",style="solid",shape="box"];132 -> 1459[label="",style="solid", color="burlywood", weight=9]; 1459 -> 144[label="",style="solid", color="burlywood", weight=3]; 1460[label="vuz410/Zero",fontsize=10,color="white",style="solid",shape="box"];132 -> 1460[label="",style="solid", color="burlywood", weight=9]; 1460 -> 145[label="",style="solid", color="burlywood", weight=3]; 133[label="vuz410",fontsize=16,color="green",shape="box"];134[label="vuz310",fontsize=16,color="green",shape="box"];135[label="vuz410",fontsize=16,color="green",shape="box"];136[label="vuz310",fontsize=16,color="green",shape="box"];138 -> 38[label="",style="dashed", color="red", weight=0]; 138[label="vuz11 * vuz13",fontsize=16,color="magenta"];138 -> 146[label="",style="dashed", color="magenta", weight=3]; 138 -> 147[label="",style="dashed", color="magenta", weight=3]; 137[label="vuz25 == fromInt (Pos Zero)",fontsize=16,color="black",shape="triangle"];137 -> 148[label="",style="solid", color="black", weight=3]; 1059[label="vuz11 * vuz13",fontsize=16,color="burlywood",shape="triangle"];1461[label="vuz11/Integer vuz110",fontsize=10,color="white",style="solid",shape="box"];1059 -> 1461[label="",style="solid", color="burlywood", weight=9]; 1461 -> 1069[label="",style="solid", color="burlywood", weight=3]; 1058[label="vuz106 == fromInt (Pos Zero)",fontsize=16,color="burlywood",shape="triangle"];1462[label="vuz106/Integer vuz1060",fontsize=10,color="white",style="solid",shape="box"];1058 -> 1462[label="",style="solid", color="burlywood", weight=9]; 1462 -> 1070[label="",style="solid", color="burlywood", weight=3]; 140[label="reduce2Reduce0 (vuz20 * vuz21 + vuz22 * vuz23) (vuz23 * vuz21) (vuz20 * vuz21 + vuz22 * vuz23) (vuz23 * vuz21) otherwise",fontsize=16,color="black",shape="box"];140 -> 150[label="",style="solid", color="black", weight=3]; 141[label="error []",fontsize=16,color="black",shape="box"];141 -> 151[label="",style="solid", color="black", weight=3]; 142[label="primMulNat (Succ vuz3100) (Succ vuz4100)",fontsize=16,color="black",shape="box"];142 -> 152[label="",style="solid", color="black", weight=3]; 143[label="primMulNat (Succ vuz3100) Zero",fontsize=16,color="black",shape="box"];143 -> 153[label="",style="solid", color="black", weight=3]; 144[label="primMulNat Zero (Succ vuz4100)",fontsize=16,color="black",shape="box"];144 -> 154[label="",style="solid", color="black", weight=3]; 145[label="primMulNat Zero Zero",fontsize=16,color="black",shape="box"];145 -> 155[label="",style="solid", color="black", weight=3]; 146[label="vuz13",fontsize=16,color="green",shape="box"];147[label="vuz11",fontsize=16,color="green",shape="box"];148[label="primEqInt vuz25 (fromInt (Pos Zero))",fontsize=16,color="burlywood",shape="box"];1463[label="vuz25/Pos vuz250",fontsize=10,color="white",style="solid",shape="box"];148 -> 1463[label="",style="solid", color="burlywood", weight=9]; 1463 -> 156[label="",style="solid", color="burlywood", weight=3]; 1464[label="vuz25/Neg vuz250",fontsize=10,color="white",style="solid",shape="box"];148 -> 1464[label="",style="solid", color="burlywood", weight=9]; 1464 -> 157[label="",style="solid", color="burlywood", weight=3]; 1069[label="Integer vuz110 * vuz13",fontsize=16,color="burlywood",shape="box"];1465[label="vuz13/Integer vuz130",fontsize=10,color="white",style="solid",shape="box"];1069 -> 1465[label="",style="solid", color="burlywood", weight=9]; 1465 -> 1077[label="",style="solid", color="burlywood", weight=3]; 1070[label="Integer vuz1060 == fromInt (Pos Zero)",fontsize=16,color="black",shape="box"];1070 -> 1078[label="",style="solid", color="black", weight=3]; 150[label="reduce2Reduce0 (vuz20 * vuz21 + vuz22 * vuz23) (vuz23 * vuz21) (vuz20 * vuz21 + vuz22 * vuz23) (vuz23 * vuz21) True",fontsize=16,color="black",shape="box"];150 -> 159[label="",style="solid", color="black", weight=3]; 151[label="error []",fontsize=16,color="red",shape="box"];152 -> 43[label="",style="dashed", color="red", weight=0]; 152[label="primPlusNat (primMulNat vuz3100 (Succ vuz4100)) (Succ vuz4100)",fontsize=16,color="magenta"];152 -> 160[label="",style="dashed", color="magenta", weight=3]; 152 -> 161[label="",style="dashed", color="magenta", weight=3]; 153[label="Zero",fontsize=16,color="green",shape="box"];154[label="Zero",fontsize=16,color="green",shape="box"];155[label="Zero",fontsize=16,color="green",shape="box"];156[label="primEqInt (Pos vuz250) (fromInt (Pos Zero))",fontsize=16,color="burlywood",shape="box"];1466[label="vuz250/Succ vuz2500",fontsize=10,color="white",style="solid",shape="box"];156 -> 1466[label="",style="solid", color="burlywood", weight=9]; 1466 -> 162[label="",style="solid", color="burlywood", weight=3]; 1467[label="vuz250/Zero",fontsize=10,color="white",style="solid",shape="box"];156 -> 1467[label="",style="solid", color="burlywood", weight=9]; 1467 -> 163[label="",style="solid", color="burlywood", weight=3]; 157[label="primEqInt (Neg vuz250) (fromInt (Pos Zero))",fontsize=16,color="burlywood",shape="box"];1468[label="vuz250/Succ vuz2500",fontsize=10,color="white",style="solid",shape="box"];157 -> 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"];157 -> 1469[label="",style="solid", color="burlywood", weight=9]; 1469 -> 165[label="",style="solid", color="burlywood", weight=3]; 1077[label="Integer vuz110 * Integer vuz130",fontsize=16,color="black",shape="box"];1077 -> 1100[label="",style="solid", color="black", weight=3]; 1078[label="Integer vuz1060 == Integer (Pos Zero)",fontsize=16,color="black",shape="box"];1078 -> 1101[label="",style="solid", color="black", weight=3]; 159[label="(vuz20 * vuz21 + vuz22 * vuz23) `quot` reduce2D (vuz20 * vuz21 + vuz22 * vuz23) (vuz23 * vuz21) :% (vuz23 * vuz21 `quot` reduce2D (vuz20 * vuz21 + vuz22 * vuz23) (vuz23 * vuz21))",fontsize=16,color="green",shape="box"];159 -> 168[label="",style="dashed", color="green", weight=3]; 159 -> 169[label="",style="dashed", color="green", weight=3]; 160[label="Succ vuz4100",fontsize=16,color="green",shape="box"];161 -> 120[label="",style="dashed", color="red", weight=0]; 161[label="primMulNat vuz3100 (Succ vuz4100)",fontsize=16,color="magenta"];161 -> 170[label="",style="dashed", color="magenta", weight=3]; 161 -> 171[label="",style="dashed", color="magenta", weight=3]; 162[label="primEqInt (Pos (Succ vuz2500)) (fromInt (Pos Zero))",fontsize=16,color="black",shape="box"];162 -> 172[label="",style="solid", color="black", weight=3]; 163[label="primEqInt (Pos Zero) (fromInt (Pos Zero))",fontsize=16,color="black",shape="box"];163 -> 173[label="",style="solid", color="black", weight=3]; 164[label="primEqInt (Neg (Succ vuz2500)) (fromInt (Pos Zero))",fontsize=16,color="black",shape="box"];164 -> 174[label="",style="solid", color="black", weight=3]; 165[label="primEqInt (Neg Zero) (fromInt (Pos Zero))",fontsize=16,color="black",shape="box"];165 -> 175[label="",style="solid", color="black", weight=3]; 1100[label="Integer (primMulInt vuz110 vuz130)",fontsize=16,color="green",shape="box"];1100 -> 1117[label="",style="dashed", color="green", weight=3]; 1101[label="primEqInt vuz1060 (Pos Zero)",fontsize=16,color="burlywood",shape="box"];1470[label="vuz1060/Pos vuz10600",fontsize=10,color="white",style="solid",shape="box"];1101 -> 1470[label="",style="solid", color="burlywood", weight=9]; 1470 -> 1118[label="",style="solid", color="burlywood", weight=3]; 1471[label="vuz1060/Neg vuz10600",fontsize=10,color="white",style="solid",shape="box"];1101 -> 1471[label="",style="solid", color="burlywood", weight=9]; 1471 -> 1119[label="",style="solid", color="burlywood", weight=3]; 168[label="(vuz20 * vuz21 + vuz22 * vuz23) `quot` reduce2D (vuz20 * vuz21 + vuz22 * vuz23) (vuz23 * vuz21)",fontsize=16,color="blue",shape="box"];1472[label="`quot` :: Int -> Int -> Int",fontsize=10,color="white",style="solid",shape="box"];168 -> 1472[label="",style="solid", color="blue", weight=9]; 1472 -> 179[label="",style="solid", color="blue", weight=3]; 1473[label="`quot` :: Integer -> Integer -> Integer",fontsize=10,color="white",style="solid",shape="box"];168 -> 1473[label="",style="solid", color="blue", weight=9]; 1473 -> 180[label="",style="solid", color="blue", weight=3]; 169[label="vuz23 * vuz21 `quot` reduce2D (vuz20 * vuz21 + vuz22 * vuz23) (vuz23 * vuz21)",fontsize=16,color="blue",shape="box"];1474[label="`quot` :: Int -> Int -> Int",fontsize=10,color="white",style="solid",shape="box"];169 -> 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"];169 -> 1475[label="",style="solid", color="blue", weight=9]; 1475 -> 182[label="",style="solid", color="blue", weight=3]; 170[label="Succ vuz4100",fontsize=16,color="green",shape="box"];171[label="vuz3100",fontsize=16,color="green",shape="box"];172[label="primEqInt (Pos (Succ vuz2500)) (Pos Zero)",fontsize=16,color="black",shape="box"];172 -> 183[label="",style="solid", color="black", weight=3]; 173[label="primEqInt (Pos Zero) (Pos Zero)",fontsize=16,color="black",shape="box"];173 -> 184[label="",style="solid", color="black", weight=3]; 174[label="primEqInt (Neg (Succ vuz2500)) (Pos Zero)",fontsize=16,color="black",shape="box"];174 -> 185[label="",style="solid", color="black", weight=3]; 175[label="primEqInt (Neg Zero) (Pos Zero)",fontsize=16,color="black",shape="box"];175 -> 186[label="",style="solid", color="black", weight=3]; 1117 -> 56[label="",style="dashed", color="red", weight=0]; 1117[label="primMulInt vuz110 vuz130",fontsize=16,color="magenta"];1117 -> 1135[label="",style="dashed", color="magenta", weight=3]; 1117 -> 1136[label="",style="dashed", color="magenta", weight=3]; 1118[label="primEqInt (Pos vuz10600) (Pos Zero)",fontsize=16,color="burlywood",shape="box"];1476[label="vuz10600/Succ vuz106000",fontsize=10,color="white",style="solid",shape="box"];1118 -> 1476[label="",style="solid", color="burlywood", weight=9]; 1476 -> 1137[label="",style="solid", color="burlywood", weight=3]; 1477[label="vuz10600/Zero",fontsize=10,color="white",style="solid",shape="box"];1118 -> 1477[label="",style="solid", color="burlywood", weight=9]; 1477 -> 1138[label="",style="solid", color="burlywood", weight=3]; 1119[label="primEqInt (Neg vuz10600) (Pos Zero)",fontsize=16,color="burlywood",shape="box"];1478[label="vuz10600/Succ vuz106000",fontsize=10,color="white",style="solid",shape="box"];1119 -> 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"];1119 -> 1479[label="",style="solid", color="burlywood", weight=9]; 1479 -> 1140[label="",style="solid", color="burlywood", weight=3]; 179 -> 220[label="",style="dashed", color="red", weight=0]; 179[label="(vuz20 * vuz21 + vuz22 * vuz23) `quot` reduce2D (vuz20 * vuz21 + vuz22 * vuz23) (vuz23 * vuz21)",fontsize=16,color="magenta"];179 -> 221[label="",style="dashed", color="magenta", weight=3]; 179 -> 222[label="",style="dashed", color="magenta", weight=3]; 179 -> 223[label="",style="dashed", color="magenta", weight=3]; 180[label="(vuz20 * vuz21 + vuz22 * vuz23) `quot` reduce2D (vuz20 * vuz21 + vuz22 * vuz23) (vuz23 * vuz21)",fontsize=16,color="burlywood",shape="box"];1480[label="vuz20/Integer vuz200",fontsize=10,color="white",style="solid",shape="box"];180 -> 1480[label="",style="solid", color="burlywood", weight=9]; 1480 -> 194[label="",style="solid", color="burlywood", weight=3]; 181 -> 220[label="",style="dashed", color="red", weight=0]; 181[label="vuz23 * vuz21 `quot` reduce2D (vuz20 * vuz21 + vuz22 * vuz23) (vuz23 * vuz21)",fontsize=16,color="magenta"];181 -> 224[label="",style="dashed", color="magenta", weight=3]; 181 -> 225[label="",style="dashed", color="magenta", weight=3]; 181 -> 226[label="",style="dashed", color="magenta", weight=3]; 182[label="vuz23 * vuz21 `quot` reduce2D (vuz20 * vuz21 + vuz22 * vuz23) (vuz23 * vuz21)",fontsize=16,color="burlywood",shape="box"];1481[label="vuz23/Integer vuz230",fontsize=10,color="white",style="solid",shape="box"];182 -> 1481[label="",style="solid", color="burlywood", weight=9]; 1481 -> 208[label="",style="solid", color="burlywood", weight=3]; 183[label="False",fontsize=16,color="green",shape="box"];184[label="True",fontsize=16,color="green",shape="box"];185[label="False",fontsize=16,color="green",shape="box"];186[label="True",fontsize=16,color="green",shape="box"];1135[label="vuz130",fontsize=16,color="green",shape="box"];1136[label="vuz110",fontsize=16,color="green",shape="box"];1137[label="primEqInt (Pos (Succ vuz106000)) (Pos Zero)",fontsize=16,color="black",shape="box"];1137 -> 1151[label="",style="solid", color="black", weight=3]; 1138[label="primEqInt (Pos Zero) (Pos Zero)",fontsize=16,color="black",shape="box"];1138 -> 1152[label="",style="solid", color="black", weight=3]; 1139[label="primEqInt (Neg (Succ vuz106000)) (Pos Zero)",fontsize=16,color="black",shape="box"];1139 -> 1153[label="",style="solid", color="black", weight=3]; 1140[label="primEqInt (Neg Zero) (Pos Zero)",fontsize=16,color="black",shape="box"];1140 -> 1154[label="",style="solid", color="black", weight=3]; 221 -> 38[label="",style="dashed", color="red", weight=0]; 221[label="vuz23 * vuz21",fontsize=16,color="magenta"];221 -> 228[label="",style="dashed", color="magenta", weight=3]; 221 -> 229[label="",style="dashed", color="magenta", weight=3]; 222 -> 230[label="",style="dashed", color="red", weight=0]; 222[label="vuz20 * vuz21 + vuz22 * vuz23",fontsize=16,color="magenta"];222 -> 231[label="",style="dashed", color="magenta", weight=3]; 222 -> 232[label="",style="dashed", color="magenta", weight=3]; 223 -> 230[label="",style="dashed", color="red", weight=0]; 223[label="vuz20 * vuz21 + vuz22 * vuz23",fontsize=16,color="magenta"];223 -> 233[label="",style="dashed", color="magenta", weight=3]; 223 -> 234[label="",style="dashed", color="magenta", weight=3]; 220[label="vuz32 `quot` reduce2D vuz38 vuz33",fontsize=16,color="black",shape="triangle"];220 -> 237[label="",style="solid", color="black", weight=3]; 194[label="(Integer vuz200 * vuz21 + vuz22 * vuz23) `quot` reduce2D (Integer vuz200 * vuz21 + vuz22 * vuz23) (vuz23 * vuz21)",fontsize=16,color="burlywood",shape="box"];1482[label="vuz21/Integer vuz210",fontsize=10,color="white",style="solid",shape="box"];194 -> 1482[label="",style="solid", color="burlywood", weight=9]; 1482 -> 238[label="",style="solid", color="burlywood", weight=3]; 224 -> 38[label="",style="dashed", color="red", weight=0]; 224[label="vuz23 * vuz21",fontsize=16,color="magenta"];224 -> 239[label="",style="dashed", color="magenta", weight=3]; 224 -> 240[label="",style="dashed", color="magenta", weight=3]; 225 -> 230[label="",style="dashed", color="red", weight=0]; 225[label="vuz20 * vuz21 + vuz22 * vuz23",fontsize=16,color="magenta"];225 -> 235[label="",style="dashed", color="magenta", weight=3]; 225 -> 236[label="",style="dashed", color="magenta", weight=3]; 226 -> 38[label="",style="dashed", color="red", weight=0]; 226[label="vuz23 * vuz21",fontsize=16,color="magenta"];226 -> 241[label="",style="dashed", color="magenta", weight=3]; 226 -> 242[label="",style="dashed", color="magenta", weight=3]; 208[label="Integer vuz230 * vuz21 `quot` reduce2D (vuz20 * vuz21 + vuz22 * Integer vuz230) (Integer vuz230 * vuz21)",fontsize=16,color="burlywood",shape="box"];1483[label="vuz21/Integer vuz210",fontsize=10,color="white",style="solid",shape="box"];208 -> 1483[label="",style="solid", color="burlywood", weight=9]; 1483 -> 243[label="",style="solid", color="burlywood", weight=3]; 1151[label="False",fontsize=16,color="green",shape="box"];1152[label="True",fontsize=16,color="green",shape="box"];1153[label="False",fontsize=16,color="green",shape="box"];1154[label="True",fontsize=16,color="green",shape="box"];228[label="vuz21",fontsize=16,color="green",shape="box"];229[label="vuz23",fontsize=16,color="green",shape="box"];231 -> 38[label="",style="dashed", color="red", weight=0]; 231[label="vuz20 * vuz21",fontsize=16,color="magenta"];231 -> 248[label="",style="dashed", color="magenta", weight=3]; 231 -> 249[label="",style="dashed", color="magenta", weight=3]; 232 -> 38[label="",style="dashed", color="red", weight=0]; 232[label="vuz22 * vuz23",fontsize=16,color="magenta"];232 -> 250[label="",style="dashed", color="magenta", weight=3]; 232 -> 251[label="",style="dashed", color="magenta", weight=3]; 230[label="vuz40 + vuz39",fontsize=16,color="black",shape="triangle"];230 -> 252[label="",style="solid", color="black", weight=3]; 233 -> 38[label="",style="dashed", color="red", weight=0]; 233[label="vuz20 * vuz21",fontsize=16,color="magenta"];233 -> 253[label="",style="dashed", color="magenta", weight=3]; 233 -> 254[label="",style="dashed", color="magenta", weight=3]; 234 -> 38[label="",style="dashed", color="red", weight=0]; 234[label="vuz22 * vuz23",fontsize=16,color="magenta"];234 -> 255[label="",style="dashed", color="magenta", weight=3]; 234 -> 256[label="",style="dashed", color="magenta", weight=3]; 237[label="primQuotInt vuz32 (reduce2D vuz38 vuz33)",fontsize=16,color="burlywood",shape="box"];1484[label="vuz32/Pos vuz320",fontsize=10,color="white",style="solid",shape="box"];237 -> 1484[label="",style="solid", color="burlywood", weight=9]; 1484 -> 261[label="",style="solid", color="burlywood", weight=3]; 1485[label="vuz32/Neg vuz320",fontsize=10,color="white",style="solid",shape="box"];237 -> 1485[label="",style="solid", color="burlywood", weight=9]; 1485 -> 262[label="",style="solid", color="burlywood", weight=3]; 238[label="(Integer vuz200 * Integer vuz210 + vuz22 * vuz23) `quot` reduce2D (Integer vuz200 * Integer vuz210 + vuz22 * vuz23) (vuz23 * Integer vuz210)",fontsize=16,color="black",shape="box"];238 -> 263[label="",style="solid", color="black", weight=3]; 239[label="vuz21",fontsize=16,color="green",shape="box"];240[label="vuz23",fontsize=16,color="green",shape="box"];235 -> 38[label="",style="dashed", color="red", weight=0]; 235[label="vuz20 * vuz21",fontsize=16,color="magenta"];235 -> 257[label="",style="dashed", color="magenta", weight=3]; 235 -> 258[label="",style="dashed", color="magenta", weight=3]; 236 -> 38[label="",style="dashed", color="red", weight=0]; 236[label="vuz22 * vuz23",fontsize=16,color="magenta"];236 -> 259[label="",style="dashed", color="magenta", weight=3]; 236 -> 260[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="Integer vuz230 * Integer vuz210 `quot` reduce2D (vuz20 * Integer vuz210 + vuz22 * Integer vuz230) (Integer vuz230 * Integer vuz210)",fontsize=16,color="black",shape="box"];243 -> 264[label="",style="solid", color="black", weight=3]; 248[label="vuz21",fontsize=16,color="green",shape="box"];249[label="vuz20",fontsize=16,color="green",shape="box"];250[label="vuz23",fontsize=16,color="green",shape="box"];251[label="vuz22",fontsize=16,color="green",shape="box"];252[label="primPlusInt vuz40 vuz39",fontsize=16,color="burlywood",shape="triangle"];1486[label="vuz40/Pos vuz400",fontsize=10,color="white",style="solid",shape="box"];252 -> 1486[label="",style="solid", color="burlywood", weight=9]; 1486 -> 269[label="",style="solid", color="burlywood", weight=3]; 1487[label="vuz40/Neg vuz400",fontsize=10,color="white",style="solid",shape="box"];252 -> 1487[label="",style="solid", color="burlywood", weight=9]; 1487 -> 270[label="",style="solid", color="burlywood", weight=3]; 253[label="vuz21",fontsize=16,color="green",shape="box"];254[label="vuz20",fontsize=16,color="green",shape="box"];255[label="vuz23",fontsize=16,color="green",shape="box"];256[label="vuz22",fontsize=16,color="green",shape="box"];261[label="primQuotInt (Pos vuz320) (reduce2D vuz38 vuz33)",fontsize=16,color="black",shape="box"];261 -> 271[label="",style="solid", color="black", weight=3]; 262[label="primQuotInt (Neg vuz320) (reduce2D vuz38 vuz33)",fontsize=16,color="black",shape="box"];262 -> 272[label="",style="solid", color="black", weight=3]; 263 -> 273[label="",style="dashed", color="red", weight=0]; 263[label="(Integer (primMulInt vuz200 vuz210) + vuz22 * vuz23) `quot` reduce2D (Integer (primMulInt vuz200 vuz210) + vuz22 * vuz23) (vuz23 * Integer vuz210)",fontsize=16,color="magenta"];263 -> 274[label="",style="dashed", color="magenta", weight=3]; 263 -> 275[label="",style="dashed", color="magenta", weight=3]; 257[label="vuz21",fontsize=16,color="green",shape="box"];258[label="vuz20",fontsize=16,color="green",shape="box"];259[label="vuz23",fontsize=16,color="green",shape="box"];260[label="vuz22",fontsize=16,color="green",shape="box"];264 -> 276[label="",style="dashed", color="red", weight=0]; 264[label="Integer (primMulInt vuz230 vuz210) `quot` reduce2D (vuz20 * Integer vuz210 + vuz22 * Integer vuz230) (Integer (primMulInt vuz230 vuz210))",fontsize=16,color="magenta"];264 -> 277[label="",style="dashed", color="magenta", weight=3]; 264 -> 278[label="",style="dashed", color="magenta", weight=3]; 269[label="primPlusInt (Pos vuz400) vuz39",fontsize=16,color="burlywood",shape="box"];1488[label="vuz39/Pos vuz390",fontsize=10,color="white",style="solid",shape="box"];269 -> 1488[label="",style="solid", color="burlywood", weight=9]; 1488 -> 279[label="",style="solid", color="burlywood", weight=3]; 1489[label="vuz39/Neg vuz390",fontsize=10,color="white",style="solid",shape="box"];269 -> 1489[label="",style="solid", color="burlywood", weight=9]; 1489 -> 280[label="",style="solid", color="burlywood", weight=3]; 270[label="primPlusInt (Neg vuz400) vuz39",fontsize=16,color="burlywood",shape="box"];1490[label="vuz39/Pos vuz390",fontsize=10,color="white",style="solid",shape="box"];270 -> 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"];270 -> 1491[label="",style="solid", color="burlywood", weight=9]; 1491 -> 282[label="",style="solid", color="burlywood", weight=3]; 271 -> 415[label="",style="dashed", color="red", weight=0]; 271[label="primQuotInt (Pos vuz320) (gcd vuz38 vuz33)",fontsize=16,color="magenta"];271 -> 416[label="",style="dashed", color="magenta", weight=3]; 272 -> 443[label="",style="dashed", color="red", weight=0]; 272[label="primQuotInt (Neg vuz320) (gcd vuz38 vuz33)",fontsize=16,color="magenta"];272 -> 444[label="",style="dashed", color="magenta", weight=3]; 274 -> 56[label="",style="dashed", color="red", weight=0]; 274[label="primMulInt vuz200 vuz210",fontsize=16,color="magenta"];274 -> 285[label="",style="dashed", color="magenta", weight=3]; 274 -> 286[label="",style="dashed", color="magenta", weight=3]; 275 -> 56[label="",style="dashed", color="red", weight=0]; 275[label="primMulInt vuz200 vuz210",fontsize=16,color="magenta"];275 -> 287[label="",style="dashed", color="magenta", weight=3]; 275 -> 288[label="",style="dashed", color="magenta", weight=3]; 273[label="(Integer vuz41 + vuz22 * vuz23) `quot` reduce2D (Integer vuz42 + vuz22 * vuz23) (vuz23 * Integer vuz210)",fontsize=16,color="burlywood",shape="triangle"];1492[label="vuz22/Integer vuz220",fontsize=10,color="white",style="solid",shape="box"];273 -> 1492[label="",style="solid", color="burlywood", weight=9]; 1492 -> 289[label="",style="solid", color="burlywood", weight=3]; 277 -> 56[label="",style="dashed", color="red", weight=0]; 277[label="primMulInt vuz230 vuz210",fontsize=16,color="magenta"];277 -> 290[label="",style="dashed", color="magenta", weight=3]; 277 -> 291[label="",style="dashed", color="magenta", weight=3]; 278 -> 56[label="",style="dashed", color="red", weight=0]; 278[label="primMulInt vuz230 vuz210",fontsize=16,color="magenta"];278 -> 292[label="",style="dashed", color="magenta", weight=3]; 278 -> 293[label="",style="dashed", color="magenta", weight=3]; 276[label="Integer vuz43 `quot` reduce2D (vuz20 * Integer vuz210 + vuz22 * Integer vuz230) (Integer vuz44)",fontsize=16,color="black",shape="triangle"];276 -> 294[label="",style="solid", color="black", weight=3]; 279[label="primPlusInt (Pos vuz400) (Pos vuz390)",fontsize=16,color="black",shape="box"];279 -> 295[label="",style="solid", color="black", weight=3]; 280[label="primPlusInt (Pos vuz400) (Neg vuz390)",fontsize=16,color="black",shape="box"];280 -> 296[label="",style="solid", color="black", weight=3]; 281[label="primPlusInt (Neg vuz400) (Pos vuz390)",fontsize=16,color="black",shape="box"];281 -> 297[label="",style="solid", color="black", weight=3]; 282[label="primPlusInt (Neg vuz400) (Neg vuz390)",fontsize=16,color="black",shape="box"];282 -> 298[label="",style="solid", color="black", weight=3]; 416[label="gcd vuz38 vuz33",fontsize=16,color="black",shape="triangle"];416 -> 432[label="",style="solid", color="black", weight=3]; 415[label="primQuotInt (Pos vuz320) vuz65",fontsize=16,color="burlywood",shape="triangle"];1493[label="vuz65/Pos vuz650",fontsize=10,color="white",style="solid",shape="box"];415 -> 1493[label="",style="solid", color="burlywood", weight=9]; 1493 -> 433[label="",style="solid", color="burlywood", weight=3]; 1494[label="vuz65/Neg vuz650",fontsize=10,color="white",style="solid",shape="box"];415 -> 1494[label="",style="solid", color="burlywood", weight=9]; 1494 -> 434[label="",style="solid", color="burlywood", weight=3]; 444 -> 416[label="",style="dashed", color="red", weight=0]; 444[label="gcd vuz38 vuz33",fontsize=16,color="magenta"];443[label="primQuotInt (Neg vuz320) vuz68",fontsize=16,color="burlywood",shape="triangle"];1495[label="vuz68/Pos vuz680",fontsize=10,color="white",style="solid",shape="box"];443 -> 1495[label="",style="solid", color="burlywood", weight=9]; 1495 -> 460[label="",style="solid", color="burlywood", weight=3]; 1496[label="vuz68/Neg vuz680",fontsize=10,color="white",style="solid",shape="box"];443 -> 1496[label="",style="solid", color="burlywood", weight=9]; 1496 -> 461[label="",style="solid", color="burlywood", weight=3]; 285[label="vuz210",fontsize=16,color="green",shape="box"];286[label="vuz200",fontsize=16,color="green",shape="box"];287[label="vuz210",fontsize=16,color="green",shape="box"];288[label="vuz200",fontsize=16,color="green",shape="box"];289[label="(Integer vuz41 + Integer vuz220 * vuz23) `quot` reduce2D (Integer vuz42 + Integer vuz220 * vuz23) (vuz23 * Integer vuz210)",fontsize=16,color="burlywood",shape="box"];1497[label="vuz23/Integer vuz230",fontsize=10,color="white",style="solid",shape="box"];289 -> 1497[label="",style="solid", color="burlywood", weight=9]; 1497 -> 301[label="",style="solid", color="burlywood", weight=3]; 290[label="vuz210",fontsize=16,color="green",shape="box"];291[label="vuz230",fontsize=16,color="green",shape="box"];292[label="vuz210",fontsize=16,color="green",shape="box"];293[label="vuz230",fontsize=16,color="green",shape="box"];294[label="Integer vuz43 `quot` gcd (vuz20 * Integer vuz210 + vuz22 * Integer vuz230) (Integer vuz44)",fontsize=16,color="black",shape="box"];294 -> 302[label="",style="solid", color="black", weight=3]; 295[label="Pos (primPlusNat vuz400 vuz390)",fontsize=16,color="green",shape="box"];295 -> 303[label="",style="dashed", color="green", weight=3]; 296 -> 31[label="",style="dashed", color="red", weight=0]; 296[label="primMinusNat vuz400 vuz390",fontsize=16,color="magenta"];296 -> 304[label="",style="dashed", color="magenta", weight=3]; 296 -> 305[label="",style="dashed", color="magenta", weight=3]; 297 -> 31[label="",style="dashed", color="red", weight=0]; 297[label="primMinusNat vuz390 vuz400",fontsize=16,color="magenta"];297 -> 306[label="",style="dashed", color="magenta", weight=3]; 297 -> 307[label="",style="dashed", color="magenta", weight=3]; 298[label="Neg (primPlusNat vuz400 vuz390)",fontsize=16,color="green",shape="box"];298 -> 308[label="",style="dashed", color="green", weight=3]; 432[label="gcd3 vuz38 vuz33",fontsize=16,color="black",shape="box"];432 -> 438[label="",style="solid", color="black", weight=3]; 433[label="primQuotInt (Pos vuz320) (Pos vuz650)",fontsize=16,color="burlywood",shape="box"];1498[label="vuz650/Succ vuz6500",fontsize=10,color="white",style="solid",shape="box"];433 -> 1498[label="",style="solid", color="burlywood", weight=9]; 1498 -> 439[label="",style="solid", color="burlywood", weight=3]; 1499[label="vuz650/Zero",fontsize=10,color="white",style="solid",shape="box"];433 -> 1499[label="",style="solid", color="burlywood", weight=9]; 1499 -> 440[label="",style="solid", color="burlywood", weight=3]; 434[label="primQuotInt (Pos vuz320) (Neg vuz650)",fontsize=16,color="burlywood",shape="box"];1500[label="vuz650/Succ vuz6500",fontsize=10,color="white",style="solid",shape="box"];434 -> 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"];434 -> 1501[label="",style="solid", color="burlywood", weight=9]; 1501 -> 442[label="",style="solid", color="burlywood", weight=3]; 460[label="primQuotInt (Neg vuz320) (Pos vuz680)",fontsize=16,color="burlywood",shape="box"];1502[label="vuz680/Succ vuz6800",fontsize=10,color="white",style="solid",shape="box"];460 -> 1502[label="",style="solid", color="burlywood", weight=9]; 1502 -> 464[label="",style="solid", color="burlywood", weight=3]; 1503[label="vuz680/Zero",fontsize=10,color="white",style="solid",shape="box"];460 -> 1503[label="",style="solid", color="burlywood", weight=9]; 1503 -> 465[label="",style="solid", color="burlywood", weight=3]; 461[label="primQuotInt (Neg vuz320) (Neg vuz680)",fontsize=16,color="burlywood",shape="box"];1504[label="vuz680/Succ vuz6800",fontsize=10,color="white",style="solid",shape="box"];461 -> 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"];461 -> 1505[label="",style="solid", color="burlywood", weight=9]; 1505 -> 467[label="",style="solid", color="burlywood", weight=3]; 301[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"];301 -> 313[label="",style="solid", color="black", weight=3]; 302[label="Integer vuz43 `quot` gcd3 (vuz20 * Integer vuz210 + vuz22 * Integer vuz230) (Integer vuz44)",fontsize=16,color="black",shape="box"];302 -> 314[label="",style="solid", color="black", weight=3]; 303 -> 43[label="",style="dashed", color="red", weight=0]; 303[label="primPlusNat vuz400 vuz390",fontsize=16,color="magenta"];303 -> 315[label="",style="dashed", color="magenta", weight=3]; 303 -> 316[label="",style="dashed", color="magenta", weight=3]; 304[label="vuz400",fontsize=16,color="green",shape="box"];305[label="vuz390",fontsize=16,color="green",shape="box"];306[label="vuz390",fontsize=16,color="green",shape="box"];307[label="vuz400",fontsize=16,color="green",shape="box"];308 -> 43[label="",style="dashed", color="red", weight=0]; 308[label="primPlusNat vuz400 vuz390",fontsize=16,color="magenta"];308 -> 317[label="",style="dashed", color="magenta", weight=3]; 308 -> 318[label="",style="dashed", color="magenta", weight=3]; 438 -> 462[label="",style="dashed", color="red", weight=0]; 438[label="gcd2 (vuz38 == fromInt (Pos Zero)) vuz38 vuz33",fontsize=16,color="magenta"];438 -> 463[label="",style="dashed", color="magenta", weight=3]; 439[label="primQuotInt (Pos vuz320) (Pos (Succ vuz6500))",fontsize=16,color="black",shape="box"];439 -> 468[label="",style="solid", color="black", weight=3]; 440[label="primQuotInt (Pos vuz320) (Pos Zero)",fontsize=16,color="black",shape="box"];440 -> 469[label="",style="solid", color="black", weight=3]; 441[label="primQuotInt (Pos vuz320) (Neg (Succ vuz6500))",fontsize=16,color="black",shape="box"];441 -> 470[label="",style="solid", color="black", weight=3]; 442[label="primQuotInt (Pos vuz320) (Neg Zero)",fontsize=16,color="black",shape="box"];442 -> 471[label="",style="solid", color="black", weight=3]; 464[label="primQuotInt (Neg vuz320) (Pos (Succ vuz6800))",fontsize=16,color="black",shape="box"];464 -> 482[label="",style="solid", color="black", weight=3]; 465[label="primQuotInt (Neg vuz320) (Pos Zero)",fontsize=16,color="black",shape="box"];465 -> 483[label="",style="solid", color="black", weight=3]; 466[label="primQuotInt (Neg vuz320) (Neg (Succ vuz6800))",fontsize=16,color="black",shape="box"];466 -> 484[label="",style="solid", color="black", weight=3]; 467[label="primQuotInt (Neg vuz320) (Neg Zero)",fontsize=16,color="black",shape="box"];467 -> 485[label="",style="solid", color="black", weight=3]; 313 -> 325[label="",style="dashed", color="red", weight=0]; 313[label="(Integer vuz41 + Integer (primMulInt vuz220 vuz230)) `quot` reduce2D (Integer vuz42 + Integer (primMulInt vuz220 vuz230)) (Integer vuz230 * Integer vuz210)",fontsize=16,color="magenta"];313 -> 326[label="",style="dashed", color="magenta", weight=3]; 313 -> 327[label="",style="dashed", color="magenta", weight=3]; 314[label="Integer vuz43 `quot` gcd2 (vuz20 * Integer vuz210 + vuz22 * Integer vuz230 == fromInt (Pos Zero)) (vuz20 * Integer vuz210 + vuz22 * Integer vuz230) (Integer vuz44)",fontsize=16,color="burlywood",shape="box"];1506[label="vuz20/Integer vuz200",fontsize=10,color="white",style="solid",shape="box"];314 -> 1506[label="",style="solid", color="burlywood", weight=9]; 1506 -> 328[label="",style="solid", color="burlywood", weight=3]; 315[label="vuz390",fontsize=16,color="green",shape="box"];316[label="vuz400",fontsize=16,color="green",shape="box"];317[label="vuz390",fontsize=16,color="green",shape="box"];318[label="vuz400",fontsize=16,color="green",shape="box"];463 -> 137[label="",style="dashed", color="red", weight=0]; 463[label="vuz38 == fromInt (Pos Zero)",fontsize=16,color="magenta"];463 -> 472[label="",style="dashed", color="magenta", weight=3]; 462[label="gcd2 vuz69 vuz38 vuz33",fontsize=16,color="burlywood",shape="triangle"];1507[label="vuz69/False",fontsize=10,color="white",style="solid",shape="box"];462 -> 1507[label="",style="solid", color="burlywood", weight=9]; 1507 -> 473[label="",style="solid", color="burlywood", weight=3]; 1508[label="vuz69/True",fontsize=10,color="white",style="solid",shape="box"];462 -> 1508[label="",style="solid", color="burlywood", weight=9]; 1508 -> 474[label="",style="solid", color="burlywood", weight=3]; 468[label="Pos (primDivNatS vuz320 (Succ vuz6500))",fontsize=16,color="green",shape="box"];468 -> 486[label="",style="dashed", color="green", weight=3]; 469[label="error []",fontsize=16,color="black",shape="triangle"];469 -> 487[label="",style="solid", color="black", weight=3]; 470[label="Neg (primDivNatS vuz320 (Succ vuz6500))",fontsize=16,color="green",shape="box"];470 -> 488[label="",style="dashed", color="green", weight=3]; 471 -> 469[label="",style="dashed", color="red", weight=0]; 471[label="error []",fontsize=16,color="magenta"];482[label="Neg (primDivNatS vuz320 (Succ vuz6800))",fontsize=16,color="green",shape="box"];482 -> 494[label="",style="dashed", color="green", weight=3]; 483 -> 469[label="",style="dashed", color="red", weight=0]; 483[label="error []",fontsize=16,color="magenta"];484[label="Pos (primDivNatS vuz320 (Succ vuz6800))",fontsize=16,color="green",shape="box"];484 -> 495[label="",style="dashed", color="green", weight=3]; 485 -> 469[label="",style="dashed", color="red", weight=0]; 485[label="error []",fontsize=16,color="magenta"];326 -> 56[label="",style="dashed", color="red", weight=0]; 326[label="primMulInt vuz220 vuz230",fontsize=16,color="magenta"];326 -> 333[label="",style="dashed", color="magenta", weight=3]; 326 -> 334[label="",style="dashed", color="magenta", weight=3]; 327 -> 56[label="",style="dashed", color="red", weight=0]; 327[label="primMulInt vuz220 vuz230",fontsize=16,color="magenta"];327 -> 335[label="",style="dashed", color="magenta", weight=3]; 327 -> 336[label="",style="dashed", color="magenta", weight=3]; 325[label="(Integer vuz41 + Integer vuz47) `quot` reduce2D (Integer vuz42 + Integer vuz48) (Integer vuz230 * Integer vuz210)",fontsize=16,color="black",shape="triangle"];325 -> 337[label="",style="solid", color="black", weight=3]; 328[label="Integer vuz43 `quot` gcd2 (Integer vuz200 * Integer vuz210 + vuz22 * Integer vuz230 == fromInt (Pos Zero)) (Integer vuz200 * Integer vuz210 + vuz22 * Integer vuz230) (Integer vuz44)",fontsize=16,color="black",shape="box"];328 -> 338[label="",style="solid", color="black", weight=3]; 472[label="vuz38",fontsize=16,color="green",shape="box"];473[label="gcd2 False vuz38 vuz33",fontsize=16,color="black",shape="box"];473 -> 489[label="",style="solid", color="black", weight=3]; 474[label="gcd2 True vuz38 vuz33",fontsize=16,color="black",shape="box"];474 -> 490[label="",style="solid", color="black", weight=3]; 486[label="primDivNatS vuz320 (Succ vuz6500)",fontsize=16,color="burlywood",shape="triangle"];1509[label="vuz320/Succ vuz3200",fontsize=10,color="white",style="solid",shape="box"];486 -> 1509[label="",style="solid", color="burlywood", weight=9]; 1509 -> 496[label="",style="solid", color="burlywood", weight=3]; 1510[label="vuz320/Zero",fontsize=10,color="white",style="solid",shape="box"];486 -> 1510[label="",style="solid", color="burlywood", weight=9]; 1510 -> 497[label="",style="solid", color="burlywood", weight=3]; 487[label="error []",fontsize=16,color="red",shape="box"];488 -> 486[label="",style="dashed", color="red", weight=0]; 488[label="primDivNatS vuz320 (Succ vuz6500)",fontsize=16,color="magenta"];488 -> 498[label="",style="dashed", color="magenta", weight=3]; 494 -> 486[label="",style="dashed", color="red", weight=0]; 494[label="primDivNatS vuz320 (Succ vuz6800)",fontsize=16,color="magenta"];494 -> 502[label="",style="dashed", color="magenta", weight=3]; 494 -> 503[label="",style="dashed", color="magenta", weight=3]; 495 -> 486[label="",style="dashed", color="red", weight=0]; 495[label="primDivNatS vuz320 (Succ vuz6800)",fontsize=16,color="magenta"];495 -> 504[label="",style="dashed", color="magenta", weight=3]; 495 -> 505[label="",style="dashed", color="magenta", weight=3]; 333[label="vuz230",fontsize=16,color="green",shape="box"];334[label="vuz220",fontsize=16,color="green",shape="box"];335[label="vuz230",fontsize=16,color="green",shape="box"];336[label="vuz220",fontsize=16,color="green",shape="box"];337 -> 345[label="",style="dashed", color="red", weight=0]; 337[label="Integer (primPlusInt vuz41 vuz47) `quot` reduce2D (Integer (primPlusInt vuz41 vuz47)) (Integer vuz230 * Integer vuz210)",fontsize=16,color="magenta"];337 -> 346[label="",style="dashed", color="magenta", weight=3]; 337 -> 347[label="",style="dashed", color="magenta", weight=3]; 338 -> 348[label="",style="dashed", color="red", weight=0]; 338[label="Integer vuz43 `quot` gcd2 (Integer (primMulInt vuz200 vuz210) + vuz22 * Integer vuz230 == fromInt (Pos Zero)) (Integer (primMulInt vuz200 vuz210) + vuz22 * Integer vuz230) (Integer vuz44)",fontsize=16,color="magenta"];338 -> 349[label="",style="dashed", color="magenta", weight=3]; 338 -> 350[label="",style="dashed", color="magenta", weight=3]; 489[label="gcd0 vuz38 vuz33",fontsize=16,color="black",shape="triangle"];489 -> 499[label="",style="solid", color="black", weight=3]; 490 -> 500[label="",style="dashed", color="red", weight=0]; 490[label="gcd1 (vuz33 == fromInt (Pos Zero)) vuz38 vuz33",fontsize=16,color="magenta"];490 -> 501[label="",style="dashed", color="magenta", weight=3]; 496[label="primDivNatS (Succ vuz3200) (Succ vuz6500)",fontsize=16,color="black",shape="box"];496 -> 506[label="",style="solid", color="black", weight=3]; 497[label="primDivNatS Zero (Succ vuz6500)",fontsize=16,color="black",shape="box"];497 -> 507[label="",style="solid", color="black", weight=3]; 498[label="vuz6500",fontsize=16,color="green",shape="box"];502[label="vuz320",fontsize=16,color="green",shape="box"];503[label="vuz6800",fontsize=16,color="green",shape="box"];504[label="vuz320",fontsize=16,color="green",shape="box"];505[label="vuz6800",fontsize=16,color="green",shape="box"];346 -> 252[label="",style="dashed", color="red", weight=0]; 346[label="primPlusInt vuz41 vuz47",fontsize=16,color="magenta"];346 -> 359[label="",style="dashed", color="magenta", weight=3]; 346 -> 360[label="",style="dashed", color="magenta", weight=3]; 347 -> 252[label="",style="dashed", color="red", weight=0]; 347[label="primPlusInt vuz41 vuz47",fontsize=16,color="magenta"];347 -> 361[label="",style="dashed", color="magenta", weight=3]; 347 -> 362[label="",style="dashed", color="magenta", weight=3]; 345[label="Integer vuz51 `quot` reduce2D (Integer vuz52) (Integer vuz230 * Integer vuz210)",fontsize=16,color="black",shape="triangle"];345 -> 363[label="",style="solid", color="black", weight=3]; 349 -> 56[label="",style="dashed", color="red", weight=0]; 349[label="primMulInt vuz200 vuz210",fontsize=16,color="magenta"];349 -> 364[label="",style="dashed", color="magenta", weight=3]; 349 -> 365[label="",style="dashed", color="magenta", weight=3]; 350 -> 56[label="",style="dashed", color="red", weight=0]; 350[label="primMulInt vuz200 vuz210",fontsize=16,color="magenta"];350 -> 366[label="",style="dashed", color="magenta", weight=3]; 350 -> 367[label="",style="dashed", color="magenta", weight=3]; 348[label="Integer vuz43 `quot` gcd2 (Integer vuz54 + vuz22 * Integer vuz230 == fromInt (Pos Zero)) (Integer vuz53 + vuz22 * Integer vuz230) (Integer vuz44)",fontsize=16,color="burlywood",shape="triangle"];1511[label="vuz22/Integer vuz220",fontsize=10,color="white",style="solid",shape="box"];348 -> 1511[label="",style="solid", color="burlywood", weight=9]; 1511 -> 368[label="",style="solid", color="burlywood", weight=3]; 499[label="gcd0Gcd' (abs vuz38) (abs vuz33)",fontsize=16,color="black",shape="box"];499 -> 508[label="",style="solid", color="black", weight=3]; 501 -> 137[label="",style="dashed", color="red", weight=0]; 501[label="vuz33 == fromInt (Pos Zero)",fontsize=16,color="magenta"];501 -> 509[label="",style="dashed", color="magenta", weight=3]; 500[label="gcd1 vuz71 vuz38 vuz33",fontsize=16,color="burlywood",shape="triangle"];1512[label="vuz71/False",fontsize=10,color="white",style="solid",shape="box"];500 -> 1512[label="",style="solid", color="burlywood", weight=9]; 1512 -> 510[label="",style="solid", color="burlywood", weight=3]; 1513[label="vuz71/True",fontsize=10,color="white",style="solid",shape="box"];500 -> 1513[label="",style="solid", color="burlywood", weight=9]; 1513 -> 511[label="",style="solid", color="burlywood", weight=3]; 506[label="primDivNatS0 vuz3200 vuz6500 (primGEqNatS vuz3200 vuz6500)",fontsize=16,color="burlywood",shape="box"];1514[label="vuz3200/Succ vuz32000",fontsize=10,color="white",style="solid",shape="box"];506 -> 1514[label="",style="solid", color="burlywood", weight=9]; 1514 -> 521[label="",style="solid", color="burlywood", weight=3]; 1515[label="vuz3200/Zero",fontsize=10,color="white",style="solid",shape="box"];506 -> 1515[label="",style="solid", color="burlywood", weight=9]; 1515 -> 522[label="",style="solid", color="burlywood", weight=3]; 507[label="Zero",fontsize=16,color="green",shape="box"];359[label="vuz41",fontsize=16,color="green",shape="box"];360[label="vuz47",fontsize=16,color="green",shape="box"];361[label="vuz41",fontsize=16,color="green",shape="box"];362[label="vuz47",fontsize=16,color="green",shape="box"];363[label="Integer vuz51 `quot` gcd (Integer vuz52) (Integer vuz230 * Integer vuz210)",fontsize=16,color="black",shape="box"];363 -> 375[label="",style="solid", color="black", weight=3]; 364[label="vuz210",fontsize=16,color="green",shape="box"];365[label="vuz200",fontsize=16,color="green",shape="box"];366[label="vuz210",fontsize=16,color="green",shape="box"];367[label="vuz200",fontsize=16,color="green",shape="box"];368[label="Integer vuz43 `quot` gcd2 (Integer vuz54 + Integer vuz220 * Integer vuz230 == fromInt (Pos Zero)) (Integer vuz53 + Integer vuz220 * Integer vuz230) (Integer vuz44)",fontsize=16,color="black",shape="box"];368 -> 376[label="",style="solid", color="black", weight=3]; 508[label="gcd0Gcd'2 (abs vuz38) (abs vuz33)",fontsize=16,color="black",shape="box"];508 -> 523[label="",style="solid", color="black", weight=3]; 509[label="vuz33",fontsize=16,color="green",shape="box"];510[label="gcd1 False vuz38 vuz33",fontsize=16,color="black",shape="box"];510 -> 524[label="",style="solid", color="black", weight=3]; 511[label="gcd1 True vuz38 vuz33",fontsize=16,color="black",shape="box"];511 -> 525[label="",style="solid", color="black", weight=3]; 521[label="primDivNatS0 (Succ vuz32000) vuz6500 (primGEqNatS (Succ vuz32000) vuz6500)",fontsize=16,color="burlywood",shape="box"];1516[label="vuz6500/Succ vuz65000",fontsize=10,color="white",style="solid",shape="box"];521 -> 1516[label="",style="solid", color="burlywood", weight=9]; 1516 -> 529[label="",style="solid", color="burlywood", weight=3]; 1517[label="vuz6500/Zero",fontsize=10,color="white",style="solid",shape="box"];521 -> 1517[label="",style="solid", color="burlywood", weight=9]; 1517 -> 530[label="",style="solid", color="burlywood", weight=3]; 522[label="primDivNatS0 Zero vuz6500 (primGEqNatS Zero vuz6500)",fontsize=16,color="burlywood",shape="box"];1518[label="vuz6500/Succ vuz65000",fontsize=10,color="white",style="solid",shape="box"];522 -> 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"];522 -> 1519[label="",style="solid", color="burlywood", weight=9]; 1519 -> 532[label="",style="solid", color="burlywood", weight=3]; 375[label="Integer vuz51 `quot` gcd3 (Integer vuz52) (Integer vuz230 * Integer vuz210)",fontsize=16,color="black",shape="box"];375 -> 383[label="",style="solid", color="black", weight=3]; 376 -> 384[label="",style="dashed", color="red", weight=0]; 376[label="Integer vuz43 `quot` gcd2 (Integer vuz54 + Integer (primMulInt vuz220 vuz230) == fromInt (Pos Zero)) (Integer vuz53 + Integer (primMulInt vuz220 vuz230)) (Integer vuz44)",fontsize=16,color="magenta"];376 -> 385[label="",style="dashed", color="magenta", weight=3]; 376 -> 386[label="",style="dashed", color="magenta", weight=3]; 523 -> 533[label="",style="dashed", color="red", weight=0]; 523[label="gcd0Gcd'1 (abs vuz33 == fromInt (Pos Zero)) (abs vuz38) (abs vuz33)",fontsize=16,color="magenta"];523 -> 534[label="",style="dashed", color="magenta", weight=3]; 524 -> 489[label="",style="dashed", color="red", weight=0]; 524[label="gcd0 vuz38 vuz33",fontsize=16,color="magenta"];525 -> 469[label="",style="dashed", color="red", weight=0]; 525[label="error []",fontsize=16,color="magenta"];529[label="primDivNatS0 (Succ vuz32000) (Succ vuz65000) (primGEqNatS (Succ vuz32000) (Succ vuz65000))",fontsize=16,color="black",shape="box"];529 -> 535[label="",style="solid", color="black", weight=3]; 530[label="primDivNatS0 (Succ vuz32000) Zero (primGEqNatS (Succ vuz32000) Zero)",fontsize=16,color="black",shape="box"];530 -> 536[label="",style="solid", color="black", weight=3]; 531[label="primDivNatS0 Zero (Succ vuz65000) (primGEqNatS Zero (Succ vuz65000))",fontsize=16,color="black",shape="box"];531 -> 537[label="",style="solid", color="black", weight=3]; 532[label="primDivNatS0 Zero Zero (primGEqNatS Zero Zero)",fontsize=16,color="black",shape="box"];532 -> 538[label="",style="solid", color="black", weight=3]; 383 -> 393[label="",style="dashed", color="red", weight=0]; 383[label="Integer vuz51 `quot` gcd2 (Integer vuz52 == fromInt (Pos Zero)) (Integer vuz52) (Integer vuz230 * Integer vuz210)",fontsize=16,color="magenta"];383 -> 394[label="",style="dashed", color="magenta", weight=3]; 385 -> 56[label="",style="dashed", color="red", weight=0]; 385[label="primMulInt vuz220 vuz230",fontsize=16,color="magenta"];385 -> 395[label="",style="dashed", color="magenta", weight=3]; 385 -> 396[label="",style="dashed", color="magenta", weight=3]; 386 -> 56[label="",style="dashed", color="red", weight=0]; 386[label="primMulInt vuz220 vuz230",fontsize=16,color="magenta"];386 -> 397[label="",style="dashed", color="magenta", weight=3]; 386 -> 398[label="",style="dashed", color="magenta", weight=3]; 384[label="Integer vuz43 `quot` gcd2 (Integer vuz54 + Integer vuz58 == fromInt (Pos Zero)) (Integer vuz53 + Integer vuz57) (Integer vuz44)",fontsize=16,color="black",shape="triangle"];384 -> 399[label="",style="solid", color="black", weight=3]; 534 -> 137[label="",style="dashed", color="red", weight=0]; 534[label="abs vuz33 == fromInt (Pos Zero)",fontsize=16,color="magenta"];534 -> 539[label="",style="dashed", color="magenta", weight=3]; 533[label="gcd0Gcd'1 vuz73 (abs vuz38) (abs vuz33)",fontsize=16,color="burlywood",shape="triangle"];1520[label="vuz73/False",fontsize=10,color="white",style="solid",shape="box"];533 -> 1520[label="",style="solid", color="burlywood", weight=9]; 1520 -> 540[label="",style="solid", color="burlywood", weight=3]; 1521[label="vuz73/True",fontsize=10,color="white",style="solid",shape="box"];533 -> 1521[label="",style="solid", color="burlywood", weight=9]; 1521 -> 541[label="",style="solid", color="burlywood", weight=3]; 535 -> 869[label="",style="dashed", color="red", weight=0]; 535[label="primDivNatS0 (Succ vuz32000) (Succ vuz65000) (primGEqNatS vuz32000 vuz65000)",fontsize=16,color="magenta"];535 -> 870[label="",style="dashed", color="magenta", weight=3]; 535 -> 871[label="",style="dashed", color="magenta", weight=3]; 535 -> 872[label="",style="dashed", color="magenta", weight=3]; 535 -> 873[label="",style="dashed", color="magenta", weight=3]; 536[label="primDivNatS0 (Succ vuz32000) Zero True",fontsize=16,color="black",shape="box"];536 -> 551[label="",style="solid", color="black", weight=3]; 537[label="primDivNatS0 Zero (Succ vuz65000) False",fontsize=16,color="black",shape="box"];537 -> 552[label="",style="solid", color="black", weight=3]; 538[label="primDivNatS0 Zero Zero True",fontsize=16,color="black",shape="box"];538 -> 553[label="",style="solid", color="black", weight=3]; 394 -> 1058[label="",style="dashed", color="red", weight=0]; 394[label="Integer vuz52 == fromInt (Pos Zero)",fontsize=16,color="magenta"];394 -> 1062[label="",style="dashed", color="magenta", weight=3]; 393[label="Integer vuz51 `quot` gcd2 vuz59 (Integer vuz52) (Integer vuz230 * Integer vuz210)",fontsize=16,color="burlywood",shape="triangle"];1522[label="vuz59/False",fontsize=10,color="white",style="solid",shape="box"];393 -> 1522[label="",style="solid", color="burlywood", weight=9]; 1522 -> 406[label="",style="solid", color="burlywood", weight=3]; 1523[label="vuz59/True",fontsize=10,color="white",style="solid",shape="box"];393 -> 1523[label="",style="solid", color="burlywood", weight=9]; 1523 -> 407[label="",style="solid", color="burlywood", weight=3]; 395[label="vuz230",fontsize=16,color="green",shape="box"];396[label="vuz220",fontsize=16,color="green",shape="box"];397[label="vuz230",fontsize=16,color="green",shape="box"];398[label="vuz220",fontsize=16,color="green",shape="box"];399 -> 408[label="",style="dashed", color="red", weight=0]; 399[label="Integer vuz43 `quot` gcd2 (Integer (primPlusInt vuz54 vuz58) == fromInt (Pos Zero)) (Integer (primPlusInt vuz54 vuz58)) (Integer vuz44)",fontsize=16,color="magenta"];399 -> 409[label="",style="dashed", color="magenta", weight=3]; 399 -> 410[label="",style="dashed", color="magenta", weight=3]; 539[label="abs vuz33",fontsize=16,color="black",shape="triangle"];539 -> 554[label="",style="solid", color="black", weight=3]; 540[label="gcd0Gcd'1 False (abs vuz38) (abs vuz33)",fontsize=16,color="black",shape="box"];540 -> 555[label="",style="solid", color="black", weight=3]; 541[label="gcd0Gcd'1 True (abs vuz38) (abs vuz33)",fontsize=16,color="black",shape="box"];541 -> 556[label="",style="solid", color="black", weight=3]; 870[label="vuz32000",fontsize=16,color="green",shape="box"];871[label="vuz65000",fontsize=16,color="green",shape="box"];872[label="vuz32000",fontsize=16,color="green",shape="box"];873[label="vuz65000",fontsize=16,color="green",shape="box"];869[label="primDivNatS0 (Succ vuz97) (Succ vuz98) (primGEqNatS vuz99 vuz100)",fontsize=16,color="burlywood",shape="triangle"];1524[label="vuz99/Succ vuz990",fontsize=10,color="white",style="solid",shape="box"];869 -> 1524[label="",style="solid", color="burlywood", weight=9]; 1524 -> 902[label="",style="solid", color="burlywood", weight=3]; 1525[label="vuz99/Zero",fontsize=10,color="white",style="solid",shape="box"];869 -> 1525[label="",style="solid", color="burlywood", weight=9]; 1525 -> 903[label="",style="solid", color="burlywood", weight=3]; 551[label="Succ (primDivNatS (primMinusNatS (Succ vuz32000) Zero) (Succ Zero))",fontsize=16,color="green",shape="box"];551 -> 566[label="",style="dashed", color="green", weight=3]; 552[label="Zero",fontsize=16,color="green",shape="box"];553[label="Succ (primDivNatS (primMinusNatS Zero Zero) (Succ Zero))",fontsize=16,color="green",shape="box"];553 -> 567[label="",style="dashed", color="green", weight=3]; 1062[label="Integer vuz52",fontsize=16,color="green",shape="box"];406[label="Integer vuz51 `quot` gcd2 False (Integer vuz52) (Integer vuz230 * Integer vuz210)",fontsize=16,color="black",shape="box"];406 -> 475[label="",style="solid", color="black", weight=3]; 407[label="Integer vuz51 `quot` gcd2 True (Integer vuz52) (Integer vuz230 * Integer vuz210)",fontsize=16,color="black",shape="box"];407 -> 476[label="",style="solid", color="black", weight=3]; 409 -> 1058[label="",style="dashed", color="red", weight=0]; 409[label="Integer (primPlusInt vuz54 vuz58) == fromInt (Pos Zero)",fontsize=16,color="magenta"];409 -> 1063[label="",style="dashed", color="magenta", weight=3]; 410 -> 252[label="",style="dashed", color="red", weight=0]; 410[label="primPlusInt vuz54 vuz58",fontsize=16,color="magenta"];410 -> 478[label="",style="dashed", color="magenta", weight=3]; 410 -> 479[label="",style="dashed", color="magenta", weight=3]; 408[label="Integer vuz43 `quot` gcd2 vuz60 (Integer vuz61) (Integer vuz44)",fontsize=16,color="burlywood",shape="triangle"];1526[label="vuz60/False",fontsize=10,color="white",style="solid",shape="box"];408 -> 1526[label="",style="solid", color="burlywood", weight=9]; 1526 -> 480[label="",style="solid", color="burlywood", weight=3]; 1527[label="vuz60/True",fontsize=10,color="white",style="solid",shape="box"];408 -> 1527[label="",style="solid", color="burlywood", weight=9]; 1527 -> 481[label="",style="solid", color="burlywood", weight=3]; 554[label="absReal vuz33",fontsize=16,color="black",shape="box"];554 -> 568[label="",style="solid", color="black", weight=3]; 555 -> 569[label="",style="dashed", color="red", weight=0]; 555[label="gcd0Gcd'0 (abs vuz38) (abs vuz33)",fontsize=16,color="magenta"];555 -> 570[label="",style="dashed", color="magenta", weight=3]; 555 -> 571[label="",style="dashed", color="magenta", weight=3]; 556 -> 539[label="",style="dashed", color="red", weight=0]; 556[label="abs vuz38",fontsize=16,color="magenta"];556 -> 572[label="",style="dashed", color="magenta", weight=3]; 902[label="primDivNatS0 (Succ vuz97) (Succ vuz98) (primGEqNatS (Succ vuz990) vuz100)",fontsize=16,color="burlywood",shape="box"];1528[label="vuz100/Succ vuz1000",fontsize=10,color="white",style="solid",shape="box"];902 -> 1528[label="",style="solid", color="burlywood", weight=9]; 1528 -> 914[label="",style="solid", color="burlywood", weight=3]; 1529[label="vuz100/Zero",fontsize=10,color="white",style="solid",shape="box"];902 -> 1529[label="",style="solid", color="burlywood", weight=9]; 1529 -> 915[label="",style="solid", color="burlywood", weight=3]; 903[label="primDivNatS0 (Succ vuz97) (Succ vuz98) (primGEqNatS Zero vuz100)",fontsize=16,color="burlywood",shape="box"];1530[label="vuz100/Succ vuz1000",fontsize=10,color="white",style="solid",shape="box"];903 -> 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"];903 -> 1531[label="",style="solid", color="burlywood", weight=9]; 1531 -> 917[label="",style="solid", color="burlywood", weight=3]; 566 -> 486[label="",style="dashed", color="red", weight=0]; 566[label="primDivNatS (primMinusNatS (Succ vuz32000) Zero) (Succ Zero)",fontsize=16,color="magenta"];566 -> 577[label="",style="dashed", color="magenta", weight=3]; 566 -> 578[label="",style="dashed", color="magenta", weight=3]; 567 -> 486[label="",style="dashed", color="red", weight=0]; 567[label="primDivNatS (primMinusNatS Zero Zero) (Succ Zero)",fontsize=16,color="magenta"];567 -> 579[label="",style="dashed", color="magenta", weight=3]; 567 -> 580[label="",style="dashed", color="magenta", weight=3]; 475[label="Integer vuz51 `quot` gcd0 (Integer vuz52) (Integer vuz230 * Integer vuz210)",fontsize=16,color="black",shape="triangle"];475 -> 491[label="",style="solid", color="black", weight=3]; 476 -> 492[label="",style="dashed", color="red", weight=0]; 476[label="Integer vuz51 `quot` gcd1 (Integer vuz230 * Integer vuz210 == fromInt (Pos Zero)) (Integer vuz52) (Integer vuz230 * Integer vuz210)",fontsize=16,color="magenta"];476 -> 493[label="",style="dashed", color="magenta", weight=3]; 1063[label="Integer (primPlusInt vuz54 vuz58)",fontsize=16,color="green",shape="box"];1063 -> 1071[label="",style="dashed", color="green", weight=3]; 478[label="vuz54",fontsize=16,color="green",shape="box"];479[label="vuz58",fontsize=16,color="green",shape="box"];480[label="Integer vuz43 `quot` gcd2 False (Integer vuz61) (Integer vuz44)",fontsize=16,color="black",shape="box"];480 -> 514[label="",style="solid", color="black", weight=3]; 481[label="Integer vuz43 `quot` gcd2 True (Integer vuz61) (Integer vuz44)",fontsize=16,color="black",shape="box"];481 -> 515[label="",style="solid", color="black", weight=3]; 568[label="absReal2 vuz33",fontsize=16,color="black",shape="box"];568 -> 581[label="",style="solid", color="black", weight=3]; 570 -> 539[label="",style="dashed", color="red", weight=0]; 570[label="abs vuz38",fontsize=16,color="magenta"];570 -> 582[label="",style="dashed", color="magenta", weight=3]; 571 -> 539[label="",style="dashed", color="red", weight=0]; 571[label="abs vuz33",fontsize=16,color="magenta"];569[label="gcd0Gcd'0 vuz75 vuz74",fontsize=16,color="black",shape="triangle"];569 -> 583[label="",style="solid", color="black", weight=3]; 572[label="vuz38",fontsize=16,color="green",shape="box"];914[label="primDivNatS0 (Succ vuz97) (Succ vuz98) (primGEqNatS (Succ vuz990) (Succ vuz1000))",fontsize=16,color="black",shape="box"];914 -> 927[label="",style="solid", color="black", weight=3]; 915[label="primDivNatS0 (Succ vuz97) (Succ vuz98) (primGEqNatS (Succ vuz990) Zero)",fontsize=16,color="black",shape="box"];915 -> 928[label="",style="solid", color="black", weight=3]; 916[label="primDivNatS0 (Succ vuz97) (Succ vuz98) (primGEqNatS Zero (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 Zero Zero)",fontsize=16,color="black",shape="box"];917 -> 930[label="",style="solid", color="black", weight=3]; 577[label="primMinusNatS (Succ vuz32000) Zero",fontsize=16,color="black",shape="triangle"];577 -> 592[label="",style="solid", color="black", weight=3]; 578[label="Zero",fontsize=16,color="green",shape="box"];579[label="primMinusNatS Zero Zero",fontsize=16,color="black",shape="triangle"];579 -> 593[label="",style="solid", color="black", weight=3]; 580[label="Zero",fontsize=16,color="green",shape="box"];491[label="Integer vuz51 `quot` gcd0Gcd' (abs (Integer vuz52)) (abs (Integer vuz230 * Integer vuz210))",fontsize=16,color="black",shape="box"];491 -> 516[label="",style="solid", color="black", weight=3]; 493 -> 1058[label="",style="dashed", color="red", weight=0]; 493[label="Integer vuz230 * Integer vuz210 == fromInt (Pos Zero)",fontsize=16,color="magenta"];493 -> 1064[label="",style="dashed", color="magenta", weight=3]; 492[label="Integer vuz51 `quot` gcd1 vuz70 (Integer vuz52) (Integer vuz230 * Integer vuz210)",fontsize=16,color="burlywood",shape="triangle"];1532[label="vuz70/False",fontsize=10,color="white",style="solid",shape="box"];492 -> 1532[label="",style="solid", color="burlywood", weight=9]; 1532 -> 519[label="",style="solid", color="burlywood", weight=3]; 1533[label="vuz70/True",fontsize=10,color="white",style="solid",shape="box"];492 -> 1533[label="",style="solid", color="burlywood", weight=9]; 1533 -> 520[label="",style="solid", color="burlywood", weight=3]; 1071 -> 252[label="",style="dashed", color="red", weight=0]; 1071[label="primPlusInt vuz54 vuz58",fontsize=16,color="magenta"];1071 -> 1079[label="",style="dashed", color="magenta", weight=3]; 1071 -> 1080[label="",style="dashed", color="magenta", weight=3]; 514[label="Integer vuz43 `quot` gcd0 (Integer vuz61) (Integer vuz44)",fontsize=16,color="black",shape="triangle"];514 -> 526[label="",style="solid", color="black", weight=3]; 515 -> 527[label="",style="dashed", color="red", weight=0]; 515[label="Integer vuz43 `quot` gcd1 (Integer vuz44 == fromInt (Pos Zero)) (Integer vuz61) (Integer vuz44)",fontsize=16,color="magenta"];515 -> 528[label="",style="dashed", color="magenta", weight=3]; 581[label="absReal1 vuz33 (vuz33 >= fromInt (Pos Zero))",fontsize=16,color="black",shape="box"];581 -> 594[label="",style="solid", color="black", weight=3]; 582[label="vuz38",fontsize=16,color="green",shape="box"];583[label="gcd0Gcd' vuz74 (vuz75 `rem` vuz74)",fontsize=16,color="black",shape="box"];583 -> 595[label="",style="solid", color="black", weight=3]; 927 -> 869[label="",style="dashed", color="red", weight=0]; 927[label="primDivNatS0 (Succ vuz97) (Succ vuz98) (primGEqNatS vuz990 vuz1000)",fontsize=16,color="magenta"];927 -> 939[label="",style="dashed", color="magenta", weight=3]; 927 -> 940[label="",style="dashed", color="magenta", weight=3]; 928[label="primDivNatS0 (Succ vuz97) (Succ vuz98) True",fontsize=16,color="black",shape="triangle"];928 -> 941[label="",style="solid", color="black", weight=3]; 929[label="primDivNatS0 (Succ vuz97) (Succ vuz98) False",fontsize=16,color="black",shape="box"];929 -> 942[label="",style="solid", color="black", weight=3]; 930 -> 928[label="",style="dashed", color="red", weight=0]; 930[label="primDivNatS0 (Succ vuz97) (Succ vuz98) True",fontsize=16,color="magenta"];592[label="Succ vuz32000",fontsize=16,color="green",shape="box"];593[label="Zero",fontsize=16,color="green",shape="box"];516[label="Integer vuz51 `quot` gcd0Gcd'2 (abs (Integer vuz52)) (abs (Integer vuz230 * Integer vuz210))",fontsize=16,color="black",shape="box"];516 -> 542[label="",style="solid", color="black", weight=3]; 1064 -> 1059[label="",style="dashed", color="red", weight=0]; 1064[label="Integer vuz230 * Integer vuz210",fontsize=16,color="magenta"];1064 -> 1072[label="",style="dashed", color="magenta", weight=3]; 1064 -> 1073[label="",style="dashed", color="magenta", weight=3]; 519[label="Integer vuz51 `quot` gcd1 False (Integer vuz52) (Integer vuz230 * Integer vuz210)",fontsize=16,color="black",shape="box"];519 -> 543[label="",style="solid", color="black", weight=3]; 520[label="Integer vuz51 `quot` gcd1 True (Integer vuz52) (Integer vuz230 * Integer vuz210)",fontsize=16,color="black",shape="box"];520 -> 544[label="",style="solid", color="black", weight=3]; 1079[label="vuz54",fontsize=16,color="green",shape="box"];1080[label="vuz58",fontsize=16,color="green",shape="box"];526[label="Integer vuz43 `quot` gcd0Gcd' (abs (Integer vuz61)) (abs (Integer vuz44))",fontsize=16,color="black",shape="box"];526 -> 545[label="",style="solid", color="black", weight=3]; 528 -> 1058[label="",style="dashed", color="red", weight=0]; 528[label="Integer vuz44 == fromInt (Pos Zero)",fontsize=16,color="magenta"];528 -> 1065[label="",style="dashed", color="magenta", weight=3]; 527[label="Integer vuz43 `quot` gcd1 vuz72 (Integer vuz61) (Integer vuz44)",fontsize=16,color="burlywood",shape="triangle"];1534[label="vuz72/False",fontsize=10,color="white",style="solid",shape="box"];527 -> 1534[label="",style="solid", color="burlywood", weight=9]; 1534 -> 547[label="",style="solid", color="burlywood", weight=3]; 1535[label="vuz72/True",fontsize=10,color="white",style="solid",shape="box"];527 -> 1535[label="",style="solid", color="burlywood", weight=9]; 1535 -> 548[label="",style="solid", color="burlywood", weight=3]; 594[label="absReal1 vuz33 (compare vuz33 (fromInt (Pos Zero)) /= LT)",fontsize=16,color="black",shape="box"];594 -> 604[label="",style="solid", color="black", weight=3]; 595[label="gcd0Gcd'2 vuz74 (vuz75 `rem` vuz74)",fontsize=16,color="black",shape="box"];595 -> 605[label="",style="solid", color="black", weight=3]; 939[label="vuz990",fontsize=16,color="green",shape="box"];940[label="vuz1000",fontsize=16,color="green",shape="box"];941[label="Succ (primDivNatS (primMinusNatS (Succ vuz97) (Succ vuz98)) (Succ (Succ vuz98)))",fontsize=16,color="green",shape="box"];941 -> 1016[label="",style="dashed", color="green", weight=3]; 942[label="Zero",fontsize=16,color="green",shape="box"];542 -> 1041[label="",style="dashed", color="red", weight=0]; 542[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"];542 -> 1042[label="",style="dashed", color="magenta", weight=3]; 542 -> 1043[label="",style="dashed", color="magenta", weight=3]; 542 -> 1044[label="",style="dashed", color="magenta", weight=3]; 1072[label="Integer vuz210",fontsize=16,color="green",shape="box"];1073[label="Integer vuz230",fontsize=16,color="green",shape="box"];543 -> 475[label="",style="dashed", color="red", weight=0]; 543[label="Integer vuz51 `quot` gcd0 (Integer vuz52) (Integer vuz230 * Integer vuz210)",fontsize=16,color="magenta"];544[label="Integer vuz51 `quot` error []",fontsize=16,color="black",shape="triangle"];544 -> 558[label="",style="solid", color="black", weight=3]; 545[label="Integer vuz43 `quot` gcd0Gcd'2 (abs (Integer vuz61)) (abs (Integer vuz44))",fontsize=16,color="black",shape="box"];545 -> 559[label="",style="solid", color="black", weight=3]; 1065[label="Integer vuz44",fontsize=16,color="green",shape="box"];547[label="Integer vuz43 `quot` gcd1 False (Integer vuz61) (Integer vuz44)",fontsize=16,color="black",shape="box"];547 -> 560[label="",style="solid", color="black", weight=3]; 548[label="Integer vuz43 `quot` gcd1 True (Integer vuz61) (Integer vuz44)",fontsize=16,color="black",shape="box"];548 -> 561[label="",style="solid", color="black", weight=3]; 604[label="absReal1 vuz33 (not (compare vuz33 (fromInt (Pos Zero)) == LT))",fontsize=16,color="black",shape="box"];604 -> 616[label="",style="solid", color="black", weight=3]; 605 -> 617[label="",style="dashed", color="red", weight=0]; 605[label="gcd0Gcd'1 (vuz75 `rem` vuz74 == fromInt (Pos Zero)) vuz74 (vuz75 `rem` vuz74)",fontsize=16,color="magenta"];605 -> 618[label="",style="dashed", color="magenta", weight=3]; 1016 -> 486[label="",style="dashed", color="red", weight=0]; 1016[label="primDivNatS (primMinusNatS (Succ vuz97) (Succ vuz98)) (Succ (Succ vuz98))",fontsize=16,color="magenta"];1016 -> 1028[label="",style="dashed", color="magenta", weight=3]; 1016 -> 1029[label="",style="dashed", color="magenta", weight=3]; 1042 -> 1058[label="",style="dashed", color="red", weight=0]; 1042[label="abs (Integer vuz230 * Integer vuz210) == fromInt (Pos Zero)",fontsize=16,color="magenta"];1042 -> 1066[label="",style="dashed", color="magenta", weight=3]; 1043[label="abs (Integer vuz230 * Integer vuz210)",fontsize=16,color="black",shape="triangle"];1043 -> 1054[label="",style="solid", color="black", weight=3]; 1044[label="abs (Integer vuz52)",fontsize=16,color="black",shape="triangle"];1044 -> 1055[label="",style="solid", color="black", weight=3]; 1041[label="Integer vuz51 `quot` gcd0Gcd'1 vuz105 vuz104 vuz102",fontsize=16,color="burlywood",shape="triangle"];1536[label="vuz105/False",fontsize=10,color="white",style="solid",shape="box"];1041 -> 1536[label="",style="solid", color="burlywood", weight=9]; 1536 -> 1056[label="",style="solid", color="burlywood", weight=3]; 1537[label="vuz105/True",fontsize=10,color="white",style="solid",shape="box"];1041 -> 1537[label="",style="solid", color="burlywood", weight=9]; 1537 -> 1057[label="",style="solid", color="burlywood", weight=3]; 558[label="error []",fontsize=16,color="red",shape="box"];559 -> 1041[label="",style="dashed", color="red", weight=0]; 559[label="Integer vuz43 `quot` gcd0Gcd'1 (abs (Integer vuz44) == fromInt (Pos Zero)) (abs (Integer vuz61)) (abs (Integer vuz44))",fontsize=16,color="magenta"];559 -> 1047[label="",style="dashed", color="magenta", weight=3]; 559 -> 1048[label="",style="dashed", color="magenta", weight=3]; 559 -> 1049[label="",style="dashed", color="magenta", weight=3]; 559 -> 1050[label="",style="dashed", color="magenta", weight=3]; 560 -> 514[label="",style="dashed", color="red", weight=0]; 560[label="Integer vuz43 `quot` gcd0 (Integer vuz61) (Integer vuz44)",fontsize=16,color="magenta"];561 -> 544[label="",style="dashed", color="red", weight=0]; 561[label="Integer vuz43 `quot` error []",fontsize=16,color="magenta"];561 -> 586[label="",style="dashed", color="magenta", weight=3]; 616[label="absReal1 vuz33 (not (primCmpInt vuz33 (fromInt (Pos Zero)) == LT))",fontsize=16,color="burlywood",shape="box"];1538[label="vuz33/Pos vuz330",fontsize=10,color="white",style="solid",shape="box"];616 -> 1538[label="",style="solid", color="burlywood", weight=9]; 1538 -> 626[label="",style="solid", color="burlywood", weight=3]; 1539[label="vuz33/Neg vuz330",fontsize=10,color="white",style="solid",shape="box"];616 -> 1539[label="",style="solid", color="burlywood", weight=9]; 1539 -> 627[label="",style="solid", color="burlywood", weight=3]; 618 -> 137[label="",style="dashed", color="red", weight=0]; 618[label="vuz75 `rem` vuz74 == fromInt (Pos Zero)",fontsize=16,color="magenta"];618 -> 628[label="",style="dashed", color="magenta", weight=3]; 617[label="gcd0Gcd'1 vuz76 vuz74 (vuz75 `rem` vuz74)",fontsize=16,color="burlywood",shape="triangle"];1540[label="vuz76/False",fontsize=10,color="white",style="solid",shape="box"];617 -> 1540[label="",style="solid", color="burlywood", weight=9]; 1540 -> 629[label="",style="solid", color="burlywood", weight=3]; 1541[label="vuz76/True",fontsize=10,color="white",style="solid",shape="box"];617 -> 1541[label="",style="solid", color="burlywood", weight=9]; 1541 -> 630[label="",style="solid", color="burlywood", weight=3]; 1028[label="primMinusNatS (Succ vuz97) (Succ vuz98)",fontsize=16,color="black",shape="box"];1028 -> 1039[label="",style="solid", color="black", weight=3]; 1029[label="Succ vuz98",fontsize=16,color="green",shape="box"];1066 -> 1043[label="",style="dashed", color="red", weight=0]; 1066[label="abs (Integer vuz230 * Integer vuz210)",fontsize=16,color="magenta"];1054 -> 1074[label="",style="dashed", color="red", weight=0]; 1054[label="absReal (Integer vuz230 * Integer vuz210)",fontsize=16,color="magenta"];1054 -> 1075[label="",style="dashed", color="magenta", weight=3]; 1055 -> 1074[label="",style="dashed", color="red", weight=0]; 1055[label="absReal (Integer vuz52)",fontsize=16,color="magenta"];1055 -> 1076[label="",style="dashed", color="magenta", weight=3]; 1056[label="Integer vuz51 `quot` gcd0Gcd'1 False vuz104 vuz102",fontsize=16,color="black",shape="box"];1056 -> 1081[label="",style="solid", color="black", weight=3]; 1057[label="Integer vuz51 `quot` gcd0Gcd'1 True vuz104 vuz102",fontsize=16,color="black",shape="box"];1057 -> 1082[label="",style="solid", color="black", weight=3]; 1047 -> 1058[label="",style="dashed", color="red", weight=0]; 1047[label="abs (Integer vuz44) == fromInt (Pos Zero)",fontsize=16,color="magenta"];1047 -> 1068[label="",style="dashed", color="magenta", weight=3]; 1048[label="vuz43",fontsize=16,color="green",shape="box"];1049 -> 1044[label="",style="dashed", color="red", weight=0]; 1049[label="abs (Integer vuz44)",fontsize=16,color="magenta"];1049 -> 1083[label="",style="dashed", color="magenta", weight=3]; 1050 -> 1044[label="",style="dashed", color="red", weight=0]; 1050[label="abs (Integer vuz61)",fontsize=16,color="magenta"];1050 -> 1084[label="",style="dashed", color="magenta", weight=3]; 586[label="vuz43",fontsize=16,color="green",shape="box"];626[label="absReal1 (Pos vuz330) (not (primCmpInt (Pos vuz330) (fromInt (Pos Zero)) == LT))",fontsize=16,color="burlywood",shape="box"];1542[label="vuz330/Succ vuz3300",fontsize=10,color="white",style="solid",shape="box"];626 -> 1542[label="",style="solid", color="burlywood", weight=9]; 1542 -> 640[label="",style="solid", color="burlywood", weight=3]; 1543[label="vuz330/Zero",fontsize=10,color="white",style="solid",shape="box"];626 -> 1543[label="",style="solid", color="burlywood", weight=9]; 1543 -> 641[label="",style="solid", color="burlywood", weight=3]; 627[label="absReal1 (Neg vuz330) (not (primCmpInt (Neg vuz330) (fromInt (Pos Zero)) == LT))",fontsize=16,color="burlywood",shape="box"];1544[label="vuz330/Succ vuz3300",fontsize=10,color="white",style="solid",shape="box"];627 -> 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"];627 -> 1545[label="",style="solid", color="burlywood", weight=9]; 1545 -> 643[label="",style="solid", color="burlywood", weight=3]; 628[label="vuz75 `rem` vuz74",fontsize=16,color="black",shape="triangle"];628 -> 644[label="",style="solid", color="black", weight=3]; 629[label="gcd0Gcd'1 False vuz74 (vuz75 `rem` vuz74)",fontsize=16,color="black",shape="box"];629 -> 645[label="",style="solid", color="black", weight=3]; 630[label="gcd0Gcd'1 True vuz74 (vuz75 `rem` vuz74)",fontsize=16,color="black",shape="box"];630 -> 646[label="",style="solid", color="black", weight=3]; 1039[label="primMinusNatS vuz97 vuz98",fontsize=16,color="burlywood",shape="triangle"];1546[label="vuz97/Succ vuz970",fontsize=10,color="white",style="solid",shape="box"];1039 -> 1546[label="",style="solid", color="burlywood", weight=9]; 1546 -> 1085[label="",style="solid", color="burlywood", weight=3]; 1547[label="vuz97/Zero",fontsize=10,color="white",style="solid",shape="box"];1039 -> 1547[label="",style="solid", color="burlywood", weight=9]; 1547 -> 1086[label="",style="solid", color="burlywood", weight=3]; 1075 -> 1059[label="",style="dashed", color="red", weight=0]; 1075[label="Integer vuz230 * Integer vuz210",fontsize=16,color="magenta"];1075 -> 1087[label="",style="dashed", color="magenta", weight=3]; 1075 -> 1088[label="",style="dashed", color="magenta", weight=3]; 1074[label="absReal vuz107",fontsize=16,color="black",shape="triangle"];1074 -> 1089[label="",style="solid", color="black", weight=3]; 1076[label="Integer vuz52",fontsize=16,color="green",shape="box"];1081[label="Integer vuz51 `quot` gcd0Gcd'0 vuz104 vuz102",fontsize=16,color="black",shape="box"];1081 -> 1102[label="",style="solid", color="black", weight=3]; 1082[label="Integer vuz51 `quot` vuz104",fontsize=16,color="burlywood",shape="triangle"];1548[label="vuz104/Integer vuz1040",fontsize=10,color="white",style="solid",shape="box"];1082 -> 1548[label="",style="solid", color="burlywood", weight=9]; 1548 -> 1103[label="",style="solid", color="burlywood", weight=3]; 1068 -> 1044[label="",style="dashed", color="red", weight=0]; 1068[label="abs (Integer vuz44)",fontsize=16,color="magenta"];1068 -> 1090[label="",style="dashed", color="magenta", weight=3]; 1083[label="vuz44",fontsize=16,color="green",shape="box"];1084[label="vuz61",fontsize=16,color="green",shape="box"];640[label="absReal1 (Pos (Succ vuz3300)) (not (primCmpInt (Pos (Succ vuz3300)) (fromInt (Pos Zero)) == LT))",fontsize=16,color="black",shape="box"];640 -> 657[label="",style="solid", color="black", weight=3]; 641[label="absReal1 (Pos Zero) (not (primCmpInt (Pos Zero) (fromInt (Pos Zero)) == LT))",fontsize=16,color="black",shape="box"];641 -> 658[label="",style="solid", color="black", weight=3]; 642[label="absReal1 (Neg (Succ vuz3300)) (not (primCmpInt (Neg (Succ vuz3300)) (fromInt (Pos Zero)) == LT))",fontsize=16,color="black",shape="box"];642 -> 659[label="",style="solid", color="black", weight=3]; 643[label="absReal1 (Neg Zero) (not (primCmpInt (Neg Zero) (fromInt (Pos Zero)) == LT))",fontsize=16,color="black",shape="box"];643 -> 660[label="",style="solid", color="black", weight=3]; 644[label="primRemInt vuz75 vuz74",fontsize=16,color="burlywood",shape="triangle"];1549[label="vuz75/Pos vuz750",fontsize=10,color="white",style="solid",shape="box"];644 -> 1549[label="",style="solid", color="burlywood", weight=9]; 1549 -> 661[label="",style="solid", color="burlywood", weight=3]; 1550[label="vuz75/Neg vuz750",fontsize=10,color="white",style="solid",shape="box"];644 -> 1550[label="",style="solid", color="burlywood", weight=9]; 1550 -> 662[label="",style="solid", color="burlywood", weight=3]; 645 -> 569[label="",style="dashed", color="red", weight=0]; 645[label="gcd0Gcd'0 vuz74 (vuz75 `rem` vuz74)",fontsize=16,color="magenta"];645 -> 663[label="",style="dashed", color="magenta", weight=3]; 645 -> 664[label="",style="dashed", color="magenta", weight=3]; 646[label="vuz74",fontsize=16,color="green",shape="box"];1085[label="primMinusNatS (Succ vuz970) vuz98",fontsize=16,color="burlywood",shape="box"];1551[label="vuz98/Succ vuz980",fontsize=10,color="white",style="solid",shape="box"];1085 -> 1551[label="",style="solid", color="burlywood", weight=9]; 1551 -> 1104[label="",style="solid", color="burlywood", weight=3]; 1552[label="vuz98/Zero",fontsize=10,color="white",style="solid",shape="box"];1085 -> 1552[label="",style="solid", color="burlywood", weight=9]; 1552 -> 1105[label="",style="solid", color="burlywood", weight=3]; 1086[label="primMinusNatS Zero vuz98",fontsize=16,color="burlywood",shape="box"];1553[label="vuz98/Succ vuz980",fontsize=10,color="white",style="solid",shape="box"];1086 -> 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"];1086 -> 1554[label="",style="solid", color="burlywood", weight=9]; 1554 -> 1107[label="",style="solid", color="burlywood", weight=3]; 1087[label="Integer vuz210",fontsize=16,color="green",shape="box"];1088[label="Integer vuz230",fontsize=16,color="green",shape="box"];1089[label="absReal2 vuz107",fontsize=16,color="black",shape="box"];1089 -> 1108[label="",style="solid", color="black", weight=3]; 1102 -> 1082[label="",style="dashed", color="red", weight=0]; 1102[label="Integer vuz51 `quot` gcd0Gcd' vuz102 (vuz104 `rem` vuz102)",fontsize=16,color="magenta"];1102 -> 1120[label="",style="dashed", color="magenta", weight=3]; 1103[label="Integer vuz51 `quot` Integer vuz1040",fontsize=16,color="black",shape="box"];1103 -> 1121[label="",style="solid", color="black", weight=3]; 1090[label="vuz44",fontsize=16,color="green",shape="box"];657[label="absReal1 (Pos (Succ vuz3300)) (not (primCmpInt (Pos (Succ vuz3300)) (Pos Zero) == LT))",fontsize=16,color="black",shape="box"];657 -> 683[label="",style="solid", color="black", weight=3]; 658[label="absReal1 (Pos Zero) (not (primCmpInt (Pos Zero) (Pos Zero) == LT))",fontsize=16,color="black",shape="box"];658 -> 684[label="",style="solid", color="black", weight=3]; 659[label="absReal1 (Neg (Succ vuz3300)) (not (primCmpInt (Neg (Succ vuz3300)) (Pos Zero) == LT))",fontsize=16,color="black",shape="box"];659 -> 685[label="",style="solid", color="black", weight=3]; 660[label="absReal1 (Neg Zero) (not (primCmpInt (Neg Zero) (Pos Zero) == LT))",fontsize=16,color="black",shape="box"];660 -> 686[label="",style="solid", color="black", weight=3]; 661[label="primRemInt (Pos vuz750) vuz74",fontsize=16,color="burlywood",shape="box"];1555[label="vuz74/Pos vuz740",fontsize=10,color="white",style="solid",shape="box"];661 -> 1555[label="",style="solid", color="burlywood", weight=9]; 1555 -> 687[label="",style="solid", color="burlywood", weight=3]; 1556[label="vuz74/Neg vuz740",fontsize=10,color="white",style="solid",shape="box"];661 -> 1556[label="",style="solid", color="burlywood", weight=9]; 1556 -> 688[label="",style="solid", color="burlywood", weight=3]; 662[label="primRemInt (Neg vuz750) vuz74",fontsize=16,color="burlywood",shape="box"];1557[label="vuz74/Pos vuz740",fontsize=10,color="white",style="solid",shape="box"];662 -> 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"];662 -> 1558[label="",style="solid", color="burlywood", weight=9]; 1558 -> 690[label="",style="solid", color="burlywood", weight=3]; 663[label="vuz74",fontsize=16,color="green",shape="box"];664 -> 628[label="",style="dashed", color="red", weight=0]; 664[label="vuz75 `rem` vuz74",fontsize=16,color="magenta"];1104[label="primMinusNatS (Succ vuz970) (Succ vuz980)",fontsize=16,color="black",shape="box"];1104 -> 1122[label="",style="solid", color="black", weight=3]; 1105[label="primMinusNatS (Succ vuz970) Zero",fontsize=16,color="black",shape="box"];1105 -> 1123[label="",style="solid", color="black", weight=3]; 1106[label="primMinusNatS Zero (Succ vuz980)",fontsize=16,color="black",shape="box"];1106 -> 1124[label="",style="solid", color="black", weight=3]; 1107[label="primMinusNatS Zero Zero",fontsize=16,color="black",shape="box"];1107 -> 1125[label="",style="solid", color="black", weight=3]; 1108[label="absReal1 vuz107 (vuz107 >= fromInt (Pos Zero))",fontsize=16,color="black",shape="box"];1108 -> 1126[label="",style="solid", color="black", weight=3]; 1120[label="gcd0Gcd' vuz102 (vuz104 `rem` vuz102)",fontsize=16,color="black",shape="triangle"];1120 -> 1141[label="",style="solid", color="black", weight=3]; 1121[label="Integer (primQuotInt vuz51 vuz1040)",fontsize=16,color="green",shape="box"];1121 -> 1142[label="",style="dashed", color="green", weight=3]; 683[label="absReal1 (Pos (Succ vuz3300)) (not (primCmpNat (Succ vuz3300) Zero == LT))",fontsize=16,color="black",shape="box"];683 -> 707[label="",style="solid", color="black", weight=3]; 684[label="absReal1 (Pos Zero) (not (EQ == LT))",fontsize=16,color="black",shape="box"];684 -> 708[label="",style="solid", color="black", weight=3]; 685[label="absReal1 (Neg (Succ vuz3300)) (not (LT == LT))",fontsize=16,color="black",shape="box"];685 -> 709[label="",style="solid", color="black", weight=3]; 686[label="absReal1 (Neg Zero) (not (EQ == LT))",fontsize=16,color="black",shape="box"];686 -> 710[label="",style="solid", color="black", weight=3]; 687[label="primRemInt (Pos vuz750) (Pos vuz740)",fontsize=16,color="burlywood",shape="box"];1559[label="vuz740/Succ vuz7400",fontsize=10,color="white",style="solid",shape="box"];687 -> 1559[label="",style="solid", color="burlywood", weight=9]; 1559 -> 711[label="",style="solid", color="burlywood", weight=3]; 1560[label="vuz740/Zero",fontsize=10,color="white",style="solid",shape="box"];687 -> 1560[label="",style="solid", color="burlywood", weight=9]; 1560 -> 712[label="",style="solid", color="burlywood", weight=3]; 688[label="primRemInt (Pos vuz750) (Neg vuz740)",fontsize=16,color="burlywood",shape="box"];1561[label="vuz740/Succ vuz7400",fontsize=10,color="white",style="solid",shape="box"];688 -> 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"];688 -> 1562[label="",style="solid", color="burlywood", weight=9]; 1562 -> 714[label="",style="solid", color="burlywood", weight=3]; 689[label="primRemInt (Neg vuz750) (Pos vuz740)",fontsize=16,color="burlywood",shape="box"];1563[label="vuz740/Succ vuz7400",fontsize=10,color="white",style="solid",shape="box"];689 -> 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"];689 -> 1564[label="",style="solid", color="burlywood", weight=9]; 1564 -> 716[label="",style="solid", color="burlywood", weight=3]; 690[label="primRemInt (Neg vuz750) (Neg vuz740)",fontsize=16,color="burlywood",shape="box"];1565[label="vuz740/Succ vuz7400",fontsize=10,color="white",style="solid",shape="box"];690 -> 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"];690 -> 1566[label="",style="solid", color="burlywood", weight=9]; 1566 -> 718[label="",style="solid", color="burlywood", weight=3]; 1122 -> 1039[label="",style="dashed", color="red", weight=0]; 1122[label="primMinusNatS vuz970 vuz980",fontsize=16,color="magenta"];1122 -> 1143[label="",style="dashed", color="magenta", weight=3]; 1122 -> 1144[label="",style="dashed", color="magenta", weight=3]; 1123[label="Succ vuz970",fontsize=16,color="green",shape="box"];1124[label="Zero",fontsize=16,color="green",shape="box"];1125[label="Zero",fontsize=16,color="green",shape="box"];1126[label="absReal1 vuz107 (compare vuz107 (fromInt (Pos Zero)) /= LT)",fontsize=16,color="black",shape="box"];1126 -> 1145[label="",style="solid", color="black", weight=3]; 1141[label="gcd0Gcd'2 vuz102 (vuz104 `rem` vuz102)",fontsize=16,color="black",shape="box"];1141 -> 1155[label="",style="solid", color="black", weight=3]; 1142[label="primQuotInt vuz51 vuz1040",fontsize=16,color="burlywood",shape="box"];1567[label="vuz51/Pos vuz510",fontsize=10,color="white",style="solid",shape="box"];1142 -> 1567[label="",style="solid", color="burlywood", weight=9]; 1567 -> 1156[label="",style="solid", color="burlywood", weight=3]; 1568[label="vuz51/Neg vuz510",fontsize=10,color="white",style="solid",shape="box"];1142 -> 1568[label="",style="solid", color="burlywood", weight=9]; 1568 -> 1157[label="",style="solid", color="burlywood", weight=3]; 707[label="absReal1 (Pos (Succ vuz3300)) (not (GT == LT))",fontsize=16,color="black",shape="box"];707 -> 728[label="",style="solid", color="black", weight=3]; 708[label="absReal1 (Pos Zero) (not False)",fontsize=16,color="black",shape="box"];708 -> 729[label="",style="solid", color="black", weight=3]; 709[label="absReal1 (Neg (Succ vuz3300)) (not True)",fontsize=16,color="black",shape="box"];709 -> 730[label="",style="solid", color="black", weight=3]; 710[label="absReal1 (Neg Zero) (not False)",fontsize=16,color="black",shape="box"];710 -> 731[label="",style="solid", color="black", weight=3]; 711[label="primRemInt (Pos vuz750) (Pos (Succ vuz7400))",fontsize=16,color="black",shape="box"];711 -> 732[label="",style="solid", color="black", weight=3]; 712[label="primRemInt (Pos vuz750) (Pos Zero)",fontsize=16,color="black",shape="box"];712 -> 733[label="",style="solid", color="black", weight=3]; 713[label="primRemInt (Pos vuz750) (Neg (Succ vuz7400))",fontsize=16,color="black",shape="box"];713 -> 734[label="",style="solid", color="black", weight=3]; 714[label="primRemInt (Pos vuz750) (Neg Zero)",fontsize=16,color="black",shape="box"];714 -> 735[label="",style="solid", color="black", weight=3]; 715[label="primRemInt (Neg vuz750) (Pos (Succ vuz7400))",fontsize=16,color="black",shape="box"];715 -> 736[label="",style="solid", color="black", weight=3]; 716[label="primRemInt (Neg vuz750) (Pos Zero)",fontsize=16,color="black",shape="box"];716 -> 737[label="",style="solid", color="black", weight=3]; 717[label="primRemInt (Neg vuz750) (Neg (Succ vuz7400))",fontsize=16,color="black",shape="box"];717 -> 738[label="",style="solid", color="black", weight=3]; 718[label="primRemInt (Neg vuz750) (Neg Zero)",fontsize=16,color="black",shape="box"];718 -> 739[label="",style="solid", color="black", weight=3]; 1143[label="vuz970",fontsize=16,color="green",shape="box"];1144[label="vuz980",fontsize=16,color="green",shape="box"];1145[label="absReal1 vuz107 (not (compare vuz107 (fromInt (Pos Zero)) == LT))",fontsize=16,color="burlywood",shape="box"];1569[label="vuz107/Integer vuz1070",fontsize=10,color="white",style="solid",shape="box"];1145 -> 1569[label="",style="solid", color="burlywood", weight=9]; 1569 -> 1158[label="",style="solid", color="burlywood", weight=3]; 1155 -> 1167[label="",style="dashed", color="red", weight=0]; 1155[label="gcd0Gcd'1 (vuz104 `rem` vuz102 == fromInt (Pos Zero)) vuz102 (vuz104 `rem` vuz102)",fontsize=16,color="magenta"];1155 -> 1168[label="",style="dashed", color="magenta", weight=3]; 1156[label="primQuotInt (Pos vuz510) vuz1040",fontsize=16,color="burlywood",shape="box"];1570[label="vuz1040/Pos vuz10400",fontsize=10,color="white",style="solid",shape="box"];1156 -> 1570[label="",style="solid", color="burlywood", weight=9]; 1570 -> 1169[label="",style="solid", color="burlywood", weight=3]; 1571[label="vuz1040/Neg vuz10400",fontsize=10,color="white",style="solid",shape="box"];1156 -> 1571[label="",style="solid", color="burlywood", weight=9]; 1571 -> 1170[label="",style="solid", color="burlywood", weight=3]; 1157[label="primQuotInt (Neg vuz510) vuz1040",fontsize=16,color="burlywood",shape="box"];1572[label="vuz1040/Pos vuz10400",fontsize=10,color="white",style="solid",shape="box"];1157 -> 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"];1157 -> 1573[label="",style="solid", color="burlywood", weight=9]; 1573 -> 1172[label="",style="solid", color="burlywood", weight=3]; 728[label="absReal1 (Pos (Succ vuz3300)) (not False)",fontsize=16,color="black",shape="box"];728 -> 749[label="",style="solid", color="black", weight=3]; 729[label="absReal1 (Pos Zero) True",fontsize=16,color="black",shape="box"];729 -> 750[label="",style="solid", color="black", weight=3]; 730[label="absReal1 (Neg (Succ vuz3300)) False",fontsize=16,color="black",shape="box"];730 -> 751[label="",style="solid", color="black", weight=3]; 731[label="absReal1 (Neg Zero) True",fontsize=16,color="black",shape="box"];731 -> 752[label="",style="solid", color="black", weight=3]; 732[label="Pos (primModNatS vuz750 (Succ vuz7400))",fontsize=16,color="green",shape="box"];732 -> 753[label="",style="dashed", color="green", weight=3]; 733 -> 469[label="",style="dashed", color="red", weight=0]; 733[label="error []",fontsize=16,color="magenta"];734[label="Pos (primModNatS vuz750 (Succ vuz7400))",fontsize=16,color="green",shape="box"];734 -> 754[label="",style="dashed", color="green", weight=3]; 735 -> 469[label="",style="dashed", color="red", weight=0]; 735[label="error []",fontsize=16,color="magenta"];736[label="Neg (primModNatS vuz750 (Succ vuz7400))",fontsize=16,color="green",shape="box"];736 -> 755[label="",style="dashed", color="green", weight=3]; 737 -> 469[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 -> 756[label="",style="dashed", color="green", weight=3]; 739 -> 469[label="",style="dashed", color="red", weight=0]; 739[label="error []",fontsize=16,color="magenta"];1158[label="absReal1 (Integer vuz1070) (not (compare (Integer vuz1070) (fromInt (Pos Zero)) == LT))",fontsize=16,color="black",shape="box"];1158 -> 1173[label="",style="solid", color="black", weight=3]; 1168 -> 1058[label="",style="dashed", color="red", weight=0]; 1168[label="vuz104 `rem` vuz102 == fromInt (Pos Zero)",fontsize=16,color="magenta"];1168 -> 1174[label="",style="dashed", color="magenta", weight=3]; 1167[label="gcd0Gcd'1 vuz108 vuz102 (vuz104 `rem` vuz102)",fontsize=16,color="burlywood",shape="triangle"];1574[label="vuz108/False",fontsize=10,color="white",style="solid",shape="box"];1167 -> 1574[label="",style="solid", color="burlywood", weight=9]; 1574 -> 1175[label="",style="solid", color="burlywood", weight=3]; 1575[label="vuz108/True",fontsize=10,color="white",style="solid",shape="box"];1167 -> 1575[label="",style="solid", color="burlywood", weight=9]; 1575 -> 1176[label="",style="solid", color="burlywood", weight=3]; 1169[label="primQuotInt (Pos vuz510) (Pos vuz10400)",fontsize=16,color="burlywood",shape="box"];1576[label="vuz10400/Succ vuz104000",fontsize=10,color="white",style="solid",shape="box"];1169 -> 1576[label="",style="solid", color="burlywood", weight=9]; 1576 -> 1185[label="",style="solid", color="burlywood", weight=3]; 1577[label="vuz10400/Zero",fontsize=10,color="white",style="solid",shape="box"];1169 -> 1577[label="",style="solid", color="burlywood", weight=9]; 1577 -> 1186[label="",style="solid", color="burlywood", weight=3]; 1170[label="primQuotInt (Pos vuz510) (Neg vuz10400)",fontsize=16,color="burlywood",shape="box"];1578[label="vuz10400/Succ vuz104000",fontsize=10,color="white",style="solid",shape="box"];1170 -> 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"];1170 -> 1579[label="",style="solid", color="burlywood", weight=9]; 1579 -> 1188[label="",style="solid", color="burlywood", weight=3]; 1171[label="primQuotInt (Neg vuz510) (Pos vuz10400)",fontsize=16,color="burlywood",shape="box"];1580[label="vuz10400/Succ vuz104000",fontsize=10,color="white",style="solid",shape="box"];1171 -> 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"];1171 -> 1581[label="",style="solid", color="burlywood", weight=9]; 1581 -> 1190[label="",style="solid", color="burlywood", weight=3]; 1172[label="primQuotInt (Neg vuz510) (Neg vuz10400)",fontsize=16,color="burlywood",shape="box"];1582[label="vuz10400/Succ vuz104000",fontsize=10,color="white",style="solid",shape="box"];1172 -> 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"];1172 -> 1583[label="",style="solid", color="burlywood", weight=9]; 1583 -> 1192[label="",style="solid", color="burlywood", weight=3]; 749[label="absReal1 (Pos (Succ vuz3300)) True",fontsize=16,color="black",shape="box"];749 -> 768[label="",style="solid", color="black", weight=3]; 750[label="Pos Zero",fontsize=16,color="green",shape="box"];751[label="absReal0 (Neg (Succ vuz3300)) otherwise",fontsize=16,color="black",shape="box"];751 -> 769[label="",style="solid", color="black", weight=3]; 752[label="Neg Zero",fontsize=16,color="green",shape="box"];753[label="primModNatS vuz750 (Succ vuz7400)",fontsize=16,color="burlywood",shape="triangle"];1584[label="vuz750/Succ vuz7500",fontsize=10,color="white",style="solid",shape="box"];753 -> 1584[label="",style="solid", color="burlywood", weight=9]; 1584 -> 770[label="",style="solid", color="burlywood", weight=3]; 1585[label="vuz750/Zero",fontsize=10,color="white",style="solid",shape="box"];753 -> 1585[label="",style="solid", color="burlywood", weight=9]; 1585 -> 771[label="",style="solid", color="burlywood", weight=3]; 754 -> 753[label="",style="dashed", color="red", weight=0]; 754[label="primModNatS vuz750 (Succ vuz7400)",fontsize=16,color="magenta"];754 -> 772[label="",style="dashed", color="magenta", weight=3]; 755 -> 753[label="",style="dashed", color="red", weight=0]; 755[label="primModNatS vuz750 (Succ vuz7400)",fontsize=16,color="magenta"];755 -> 773[label="",style="dashed", color="magenta", weight=3]; 756 -> 753[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]; 756 -> 775[label="",style="dashed", color="magenta", weight=3]; 1173[label="absReal1 (Integer vuz1070) (not (compare (Integer vuz1070) (Integer (Pos Zero)) == LT))",fontsize=16,color="black",shape="box"];1173 -> 1193[label="",style="solid", color="black", weight=3]; 1174[label="vuz104 `rem` vuz102",fontsize=16,color="burlywood",shape="triangle"];1586[label="vuz104/Integer vuz1040",fontsize=10,color="white",style="solid",shape="box"];1174 -> 1586[label="",style="solid", color="burlywood", weight=9]; 1586 -> 1194[label="",style="solid", color="burlywood", weight=3]; 1175[label="gcd0Gcd'1 False vuz102 (vuz104 `rem` vuz102)",fontsize=16,color="black",shape="box"];1175 -> 1195[label="",style="solid", color="black", weight=3]; 1176[label="gcd0Gcd'1 True vuz102 (vuz104 `rem` vuz102)",fontsize=16,color="black",shape="box"];1176 -> 1196[label="",style="solid", color="black", weight=3]; 1185[label="primQuotInt (Pos vuz510) (Pos (Succ vuz104000))",fontsize=16,color="black",shape="box"];1185 -> 1202[label="",style="solid", color="black", weight=3]; 1186[label="primQuotInt (Pos vuz510) (Pos Zero)",fontsize=16,color="black",shape="box"];1186 -> 1203[label="",style="solid", color="black", weight=3]; 1187[label="primQuotInt (Pos vuz510) (Neg (Succ vuz104000))",fontsize=16,color="black",shape="box"];1187 -> 1204[label="",style="solid", color="black", weight=3]; 1188[label="primQuotInt (Pos vuz510) (Neg Zero)",fontsize=16,color="black",shape="box"];1188 -> 1205[label="",style="solid", color="black", weight=3]; 1189[label="primQuotInt (Neg vuz510) (Pos (Succ vuz104000))",fontsize=16,color="black",shape="box"];1189 -> 1206[label="",style="solid", color="black", weight=3]; 1190[label="primQuotInt (Neg vuz510) (Pos Zero)",fontsize=16,color="black",shape="box"];1190 -> 1207[label="",style="solid", color="black", weight=3]; 1191[label="primQuotInt (Neg vuz510) (Neg (Succ vuz104000))",fontsize=16,color="black",shape="box"];1191 -> 1208[label="",style="solid", color="black", weight=3]; 1192[label="primQuotInt (Neg vuz510) (Neg Zero)",fontsize=16,color="black",shape="box"];1192 -> 1209[label="",style="solid", color="black", weight=3]; 768[label="Pos (Succ vuz3300)",fontsize=16,color="green",shape="box"];769[label="absReal0 (Neg (Succ vuz3300)) True",fontsize=16,color="black",shape="box"];769 -> 788[label="",style="solid", color="black", weight=3]; 770[label="primModNatS (Succ vuz7500) (Succ vuz7400)",fontsize=16,color="black",shape="box"];770 -> 789[label="",style="solid", color="black", weight=3]; 771[label="primModNatS Zero (Succ vuz7400)",fontsize=16,color="black",shape="box"];771 -> 790[label="",style="solid", color="black", weight=3]; 772[label="vuz7400",fontsize=16,color="green",shape="box"];773[label="vuz750",fontsize=16,color="green",shape="box"];774[label="vuz750",fontsize=16,color="green",shape="box"];775[label="vuz7400",fontsize=16,color="green",shape="box"];1193[label="absReal1 (Integer vuz1070) (not (primCmpInt vuz1070 (Pos Zero) == LT))",fontsize=16,color="burlywood",shape="box"];1587[label="vuz1070/Pos vuz10700",fontsize=10,color="white",style="solid",shape="box"];1193 -> 1587[label="",style="solid", color="burlywood", weight=9]; 1587 -> 1210[label="",style="solid", color="burlywood", weight=3]; 1588[label="vuz1070/Neg vuz10700",fontsize=10,color="white",style="solid",shape="box"];1193 -> 1588[label="",style="solid", color="burlywood", weight=9]; 1588 -> 1211[label="",style="solid", color="burlywood", weight=3]; 1194[label="Integer vuz1040 `rem` vuz102",fontsize=16,color="burlywood",shape="box"];1589[label="vuz102/Integer vuz1020",fontsize=10,color="white",style="solid",shape="box"];1194 -> 1589[label="",style="solid", color="burlywood", weight=9]; 1589 -> 1212[label="",style="solid", color="burlywood", weight=3]; 1195 -> 1213[label="",style="dashed", color="red", weight=0]; 1195[label="gcd0Gcd'0 vuz102 (vuz104 `rem` vuz102)",fontsize=16,color="magenta"];1195 -> 1214[label="",style="dashed", color="magenta", weight=3]; 1196[label="vuz102",fontsize=16,color="green",shape="box"];1202[label="Pos (primDivNatS vuz510 (Succ vuz104000))",fontsize=16,color="green",shape="box"];1202 -> 1215[label="",style="dashed", color="green", weight=3]; 1203 -> 469[label="",style="dashed", color="red", weight=0]; 1203[label="error []",fontsize=16,color="magenta"];1204[label="Neg (primDivNatS vuz510 (Succ vuz104000))",fontsize=16,color="green",shape="box"];1204 -> 1216[label="",style="dashed", color="green", weight=3]; 1205 -> 469[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 -> 1217[label="",style="dashed", color="green", weight=3]; 1207 -> 469[label="",style="dashed", color="red", weight=0]; 1207[label="error []",fontsize=16,color="magenta"];1208[label="Pos (primDivNatS vuz510 (Succ vuz104000))",fontsize=16,color="green",shape="box"];1208 -> 1218[label="",style="dashed", color="green", weight=3]; 1209 -> 469[label="",style="dashed", color="red", weight=0]; 1209[label="error []",fontsize=16,color="magenta"];788 -> 70[label="",style="dashed", color="red", weight=0]; 788[label="`negate` Neg (Succ vuz3300)",fontsize=16,color="magenta"];788 -> 808[label="",style="dashed", color="magenta", weight=3]; 789[label="primModNatS0 vuz7500 vuz7400 (primGEqNatS vuz7500 vuz7400)",fontsize=16,color="burlywood",shape="box"];1590[label="vuz7500/Succ vuz75000",fontsize=10,color="white",style="solid",shape="box"];789 -> 1590[label="",style="solid", color="burlywood", weight=9]; 1590 -> 809[label="",style="solid", color="burlywood", weight=3]; 1591[label="vuz7500/Zero",fontsize=10,color="white",style="solid",shape="box"];789 -> 1591[label="",style="solid", color="burlywood", weight=9]; 1591 -> 810[label="",style="solid", color="burlywood", weight=3]; 790[label="Zero",fontsize=16,color="green",shape="box"];1210[label="absReal1 (Integer (Pos vuz10700)) (not (primCmpInt (Pos vuz10700) (Pos Zero) == LT))",fontsize=16,color="burlywood",shape="box"];1592[label="vuz10700/Succ vuz107000",fontsize=10,color="white",style="solid",shape="box"];1210 -> 1592[label="",style="solid", color="burlywood", weight=9]; 1592 -> 1219[label="",style="solid", color="burlywood", weight=3]; 1593[label="vuz10700/Zero",fontsize=10,color="white",style="solid",shape="box"];1210 -> 1593[label="",style="solid", color="burlywood", weight=9]; 1593 -> 1220[label="",style="solid", color="burlywood", weight=3]; 1211[label="absReal1 (Integer (Neg vuz10700)) (not (primCmpInt (Neg vuz10700) (Pos Zero) == LT))",fontsize=16,color="burlywood",shape="box"];1594[label="vuz10700/Succ vuz107000",fontsize=10,color="white",style="solid",shape="box"];1211 -> 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"];1211 -> 1595[label="",style="solid", color="burlywood", weight=9]; 1595 -> 1222[label="",style="solid", color="burlywood", weight=3]; 1212[label="Integer vuz1040 `rem` Integer vuz1020",fontsize=16,color="black",shape="box"];1212 -> 1223[label="",style="solid", color="black", weight=3]; 1214 -> 1174[label="",style="dashed", color="red", weight=0]; 1214[label="vuz104 `rem` vuz102",fontsize=16,color="magenta"];1213[label="gcd0Gcd'0 vuz102 vuz109",fontsize=16,color="black",shape="triangle"];1213 -> 1224[label="",style="solid", color="black", weight=3]; 1215 -> 486[label="",style="dashed", color="red", weight=0]; 1215[label="primDivNatS vuz510 (Succ vuz104000)",fontsize=16,color="magenta"];1215 -> 1233[label="",style="dashed", color="magenta", weight=3]; 1215 -> 1234[label="",style="dashed", color="magenta", weight=3]; 1216 -> 486[label="",style="dashed", color="red", weight=0]; 1216[label="primDivNatS vuz510 (Succ vuz104000)",fontsize=16,color="magenta"];1216 -> 1235[label="",style="dashed", color="magenta", weight=3]; 1216 -> 1236[label="",style="dashed", color="magenta", weight=3]; 1217 -> 486[label="",style="dashed", color="red", weight=0]; 1217[label="primDivNatS vuz510 (Succ vuz104000)",fontsize=16,color="magenta"];1217 -> 1237[label="",style="dashed", color="magenta", weight=3]; 1217 -> 1238[label="",style="dashed", color="magenta", weight=3]; 1218 -> 486[label="",style="dashed", color="red", weight=0]; 1218[label="primDivNatS vuz510 (Succ vuz104000)",fontsize=16,color="magenta"];1218 -> 1239[label="",style="dashed", color="magenta", weight=3]; 1218 -> 1240[label="",style="dashed", color="magenta", weight=3]; 808[label="Neg (Succ vuz3300)",fontsize=16,color="green",shape="box"];809[label="primModNatS0 (Succ vuz75000) vuz7400 (primGEqNatS (Succ vuz75000) vuz7400)",fontsize=16,color="burlywood",shape="box"];1596[label="vuz7400/Succ vuz74000",fontsize=10,color="white",style="solid",shape="box"];809 -> 1596[label="",style="solid", color="burlywood", weight=9]; 1596 -> 840[label="",style="solid", color="burlywood", weight=3]; 1597[label="vuz7400/Zero",fontsize=10,color="white",style="solid",shape="box"];809 -> 1597[label="",style="solid", color="burlywood", weight=9]; 1597 -> 841[label="",style="solid", color="burlywood", weight=3]; 810[label="primModNatS0 Zero vuz7400 (primGEqNatS Zero vuz7400)",fontsize=16,color="burlywood",shape="box"];1598[label="vuz7400/Succ vuz74000",fontsize=10,color="white",style="solid",shape="box"];810 -> 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"];810 -> 1599[label="",style="solid", color="burlywood", weight=9]; 1599 -> 843[label="",style="solid", color="burlywood", weight=3]; 1219[label="absReal1 (Integer (Pos (Succ vuz107000))) (not (primCmpInt (Pos (Succ vuz107000)) (Pos Zero) == LT))",fontsize=16,color="black",shape="box"];1219 -> 1241[label="",style="solid", color="black", weight=3]; 1220[label="absReal1 (Integer (Pos Zero)) (not (primCmpInt (Pos Zero) (Pos Zero) == LT))",fontsize=16,color="black",shape="box"];1220 -> 1242[label="",style="solid", color="black", weight=3]; 1221[label="absReal1 (Integer (Neg (Succ vuz107000))) (not (primCmpInt (Neg (Succ vuz107000)) (Pos Zero) == LT))",fontsize=16,color="black",shape="box"];1221 -> 1243[label="",style="solid", color="black", weight=3]; 1222[label="absReal1 (Integer (Neg Zero)) (not (primCmpInt (Neg Zero) (Pos Zero) == LT))",fontsize=16,color="black",shape="box"];1222 -> 1244[label="",style="solid", color="black", weight=3]; 1223[label="Integer (primRemInt vuz1040 vuz1020)",fontsize=16,color="green",shape="box"];1223 -> 1245[label="",style="dashed", color="green", weight=3]; 1224 -> 1120[label="",style="dashed", color="red", weight=0]; 1224[label="gcd0Gcd' vuz109 (vuz102 `rem` vuz109)",fontsize=16,color="magenta"];1224 -> 1246[label="",style="dashed", color="magenta", weight=3]; 1224 -> 1247[label="",style="dashed", color="magenta", weight=3]; 1233[label="vuz510",fontsize=16,color="green",shape="box"];1234[label="vuz104000",fontsize=16,color="green",shape="box"];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"];840[label="primModNatS0 (Succ vuz75000) (Succ vuz74000) (primGEqNatS (Succ vuz75000) (Succ vuz74000))",fontsize=16,color="black",shape="box"];840 -> 852[label="",style="solid", color="black", weight=3]; 841[label="primModNatS0 (Succ vuz75000) Zero (primGEqNatS (Succ vuz75000) Zero)",fontsize=16,color="black",shape="box"];841 -> 853[label="",style="solid", color="black", weight=3]; 842[label="primModNatS0 Zero (Succ vuz74000) (primGEqNatS Zero (Succ vuz74000))",fontsize=16,color="black",shape="box"];842 -> 854[label="",style="solid", color="black", weight=3]; 843[label="primModNatS0 Zero Zero (primGEqNatS Zero Zero)",fontsize=16,color="black",shape="box"];843 -> 855[label="",style="solid", color="black", weight=3]; 1241[label="absReal1 (Integer (Pos (Succ vuz107000))) (not (primCmpNat (Succ vuz107000) Zero == LT))",fontsize=16,color="black",shape="box"];1241 -> 1256[label="",style="solid", color="black", weight=3]; 1242[label="absReal1 (Integer (Pos Zero)) (not (EQ == LT))",fontsize=16,color="black",shape="box"];1242 -> 1257[label="",style="solid", color="black", weight=3]; 1243[label="absReal1 (Integer (Neg (Succ vuz107000))) (not (LT == LT))",fontsize=16,color="black",shape="box"];1243 -> 1258[label="",style="solid", color="black", weight=3]; 1244[label="absReal1 (Integer (Neg Zero)) (not (EQ == LT))",fontsize=16,color="black",shape="box"];1244 -> 1259[label="",style="solid", color="black", weight=3]; 1245 -> 644[label="",style="dashed", color="red", weight=0]; 1245[label="primRemInt vuz1040 vuz1020",fontsize=16,color="magenta"];1245 -> 1260[label="",style="dashed", color="magenta", weight=3]; 1245 -> 1261[label="",style="dashed", color="magenta", weight=3]; 1246[label="vuz109",fontsize=16,color="green",shape="box"];1247[label="vuz102",fontsize=16,color="green",shape="box"];852 -> 1354[label="",style="dashed", color="red", weight=0]; 852[label="primModNatS0 (Succ vuz75000) (Succ vuz74000) (primGEqNatS vuz75000 vuz74000)",fontsize=16,color="magenta"];852 -> 1355[label="",style="dashed", color="magenta", weight=3]; 852 -> 1356[label="",style="dashed", color="magenta", weight=3]; 852 -> 1357[label="",style="dashed", color="magenta", weight=3]; 852 -> 1358[label="",style="dashed", color="magenta", weight=3]; 853[label="primModNatS0 (Succ vuz75000) Zero True",fontsize=16,color="black",shape="box"];853 -> 866[label="",style="solid", color="black", weight=3]; 854[label="primModNatS0 Zero (Succ vuz74000) False",fontsize=16,color="black",shape="box"];854 -> 867[label="",style="solid", color="black", weight=3]; 855[label="primModNatS0 Zero Zero True",fontsize=16,color="black",shape="box"];855 -> 868[label="",style="solid", color="black", weight=3]; 1256[label="absReal1 (Integer (Pos (Succ vuz107000))) (not (GT == LT))",fontsize=16,color="black",shape="box"];1256 -> 1267[label="",style="solid", color="black", weight=3]; 1257[label="absReal1 (Integer (Pos Zero)) (not False)",fontsize=16,color="black",shape="box"];1257 -> 1268[label="",style="solid", color="black", weight=3]; 1258[label="absReal1 (Integer (Neg (Succ vuz107000))) (not True)",fontsize=16,color="black",shape="box"];1258 -> 1269[label="",style="solid", color="black", weight=3]; 1259[label="absReal1 (Integer (Neg Zero)) (not False)",fontsize=16,color="black",shape="box"];1259 -> 1270[label="",style="solid", color="black", weight=3]; 1260[label="vuz1040",fontsize=16,color="green",shape="box"];1261[label="vuz1020",fontsize=16,color="green",shape="box"];1355[label="vuz75000",fontsize=16,color="green",shape="box"];1356[label="vuz74000",fontsize=16,color="green",shape="box"];1357[label="vuz75000",fontsize=16,color="green",shape="box"];1358[label="vuz74000",fontsize=16,color="green",shape="box"];1354[label="primModNatS0 (Succ vuz130) (Succ vuz131) (primGEqNatS vuz132 vuz133)",fontsize=16,color="burlywood",shape="triangle"];1600[label="vuz132/Succ vuz1320",fontsize=10,color="white",style="solid",shape="box"];1354 -> 1600[label="",style="solid", color="burlywood", weight=9]; 1600 -> 1391[label="",style="solid", color="burlywood", weight=3]; 1601[label="vuz132/Zero",fontsize=10,color="white",style="solid",shape="box"];1354 -> 1601[label="",style="solid", color="burlywood", weight=9]; 1601 -> 1392[label="",style="solid", color="burlywood", weight=3]; 866 -> 753[label="",style="dashed", color="red", weight=0]; 866[label="primModNatS (primMinusNatS (Succ vuz75000) Zero) (Succ Zero)",fontsize=16,color="magenta"];866 -> 908[label="",style="dashed", color="magenta", weight=3]; 866 -> 909[label="",style="dashed", color="magenta", weight=3]; 867[label="Succ Zero",fontsize=16,color="green",shape="box"];868 -> 753[label="",style="dashed", color="red", weight=0]; 868[label="primModNatS (primMinusNatS Zero 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]; 1267[label="absReal1 (Integer (Pos (Succ vuz107000))) (not False)",fontsize=16,color="black",shape="box"];1267 -> 1273[label="",style="solid", color="black", weight=3]; 1268[label="absReal1 (Integer (Pos Zero)) True",fontsize=16,color="black",shape="box"];1268 -> 1274[label="",style="solid", color="black", weight=3]; 1269[label="absReal1 (Integer (Neg (Succ vuz107000))) False",fontsize=16,color="black",shape="box"];1269 -> 1275[label="",style="solid", color="black", weight=3]; 1270[label="absReal1 (Integer (Neg Zero)) True",fontsize=16,color="black",shape="box"];1270 -> 1276[label="",style="solid", color="black", weight=3]; 1391[label="primModNatS0 (Succ vuz130) (Succ vuz131) (primGEqNatS (Succ vuz1320) vuz133)",fontsize=16,color="burlywood",shape="box"];1602[label="vuz133/Succ vuz1330",fontsize=10,color="white",style="solid",shape="box"];1391 -> 1602[label="",style="solid", color="burlywood", weight=9]; 1602 -> 1393[label="",style="solid", color="burlywood", weight=3]; 1603[label="vuz133/Zero",fontsize=10,color="white",style="solid",shape="box"];1391 -> 1603[label="",style="solid", color="burlywood", weight=9]; 1603 -> 1394[label="",style="solid", color="burlywood", weight=3]; 1392[label="primModNatS0 (Succ vuz130) (Succ vuz131) (primGEqNatS Zero vuz133)",fontsize=16,color="burlywood",shape="box"];1604[label="vuz133/Succ vuz1330",fontsize=10,color="white",style="solid",shape="box"];1392 -> 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"];1392 -> 1605[label="",style="solid", color="burlywood", weight=9]; 1605 -> 1396[label="",style="solid", color="burlywood", weight=3]; 908 -> 577[label="",style="dashed", color="red", weight=0]; 908[label="primMinusNatS (Succ vuz75000) Zero",fontsize=16,color="magenta"];908 -> 923[label="",style="dashed", color="magenta", weight=3]; 909[label="Zero",fontsize=16,color="green",shape="box"];910 -> 579[label="",style="dashed", color="red", weight=0]; 910[label="primMinusNatS Zero Zero",fontsize=16,color="magenta"];911[label="Zero",fontsize=16,color="green",shape="box"];1273[label="absReal1 (Integer (Pos (Succ vuz107000))) True",fontsize=16,color="black",shape="box"];1273 -> 1283[label="",style="solid", color="black", weight=3]; 1274[label="Integer (Pos Zero)",fontsize=16,color="green",shape="box"];1275[label="absReal0 (Integer (Neg (Succ vuz107000))) otherwise",fontsize=16,color="black",shape="box"];1275 -> 1284[label="",style="solid", color="black", weight=3]; 1276[label="Integer (Neg Zero)",fontsize=16,color="green",shape="box"];1393[label="primModNatS0 (Succ vuz130) (Succ vuz131) (primGEqNatS (Succ vuz1320) (Succ vuz1330))",fontsize=16,color="black",shape="box"];1393 -> 1397[label="",style="solid", color="black", weight=3]; 1394[label="primModNatS0 (Succ vuz130) (Succ vuz131) (primGEqNatS (Succ vuz1320) Zero)",fontsize=16,color="black",shape="box"];1394 -> 1398[label="",style="solid", color="black", weight=3]; 1395[label="primModNatS0 (Succ vuz130) (Succ vuz131) (primGEqNatS Zero (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 Zero Zero)",fontsize=16,color="black",shape="box"];1396 -> 1400[label="",style="solid", color="black", weight=3]; 923[label="vuz75000",fontsize=16,color="green",shape="box"];1283[label="Integer (Pos (Succ vuz107000))",fontsize=16,color="green",shape="box"];1284[label="absReal0 (Integer (Neg (Succ vuz107000))) True",fontsize=16,color="black",shape="box"];1284 -> 1291[label="",style="solid", color="black", weight=3]; 1397 -> 1354[label="",style="dashed", color="red", weight=0]; 1397[label="primModNatS0 (Succ vuz130) (Succ vuz131) (primGEqNatS vuz1320 vuz1330)",fontsize=16,color="magenta"];1397 -> 1401[label="",style="dashed", color="magenta", weight=3]; 1397 -> 1402[label="",style="dashed", color="magenta", weight=3]; 1398[label="primModNatS0 (Succ vuz130) (Succ vuz131) True",fontsize=16,color="black",shape="triangle"];1398 -> 1403[label="",style="solid", color="black", weight=3]; 1399[label="primModNatS0 (Succ vuz130) (Succ vuz131) False",fontsize=16,color="black",shape="box"];1399 -> 1404[label="",style="solid", color="black", weight=3]; 1400 -> 1398[label="",style="dashed", color="red", weight=0]; 1400[label="primModNatS0 (Succ vuz130) (Succ vuz131) True",fontsize=16,color="magenta"];1291 -> 69[label="",style="dashed", color="red", weight=0]; 1291[label="`negate` Integer (Neg (Succ vuz107000))",fontsize=16,color="magenta"];1291 -> 1296[label="",style="dashed", color="magenta", weight=3]; 1401[label="vuz1320",fontsize=16,color="green",shape="box"];1402[label="vuz1330",fontsize=16,color="green",shape="box"];1403 -> 753[label="",style="dashed", color="red", weight=0]; 1403[label="primModNatS (primMinusNatS (Succ vuz130) (Succ vuz131)) (Succ (Succ vuz131))",fontsize=16,color="magenta"];1403 -> 1405[label="",style="dashed", color="magenta", weight=3]; 1403 -> 1406[label="",style="dashed", color="magenta", weight=3]; 1404[label="Succ (Succ vuz130)",fontsize=16,color="green",shape="box"];1296[label="Integer (Neg (Succ vuz107000))",fontsize=16,color="green",shape="box"];1405 -> 1039[label="",style="dashed", color="red", weight=0]; 1405[label="primMinusNatS (Succ vuz130) (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 vuz131",fontsize=16,color="green",shape="box"];1407[label="Succ vuz130",fontsize=16,color="green",shape="box"];1408[label="Succ vuz131",fontsize=16,color="green",shape="box"];} ---------------------------------------- (892) Complex Obligation (AND) ---------------------------------------- (893) Obligation: Q DP problem: The TRS P consists of the following rules: new_primMinusNat(Succ(vuz300), Succ(vuz400), []) -> new_primMinusNat(vuz300, vuz400, []) R is empty. Q is empty. We have to consider all (P,Q,R)-chains. ---------------------------------------- (894) QDPSizeChangeProof (EQUIVALENT) We used the following order and afs together with the size-change analysis [AAECC05] to show that there are no infinite chains for this DP problem. Order:EMB rules! AFS: [] = [] Succ(x1) = Succ(x1) From the DPs we obtained the following set of size-change graphs: *new_primMinusNat(Succ(vuz300), Succ(vuz400), []) -> new_primMinusNat(vuz300, vuz400, []) (allowed arguments on rhs = {1, 2, 3}) The graph contains the following edges 1 > 1, 2 > 2, 3 >= 3 We oriented the following set of usable rules [AAECC05,FROCOS05]. none ---------------------------------------- (895) YES ---------------------------------------- (896) Obligation: Q DP problem: P is empty. R is empty. Q is empty. We have to consider all (P,Q,R)-chains. ---------------------------------------- (897) PisEmptyProof (EQUIVALENT) The TRS P is empty. Hence, there is no (P,Q,R) chain. ---------------------------------------- (898) YES ---------------------------------------- (899) Obligation: Q DP problem: The TRS P consists of the following rules: new_primPlusNat(Succ(vuz300), Succ(vuz400), []) -> new_primPlusNat(vuz300, vuz400, []) R is empty. Q is empty. We have to consider all (P,Q,R)-chains. ---------------------------------------- (900) QDPSizeChangeProof (EQUIVALENT) We used the following order and afs together with the size-change analysis [AAECC05] to show that there are no infinite chains for this DP problem. Order:EMB rules! AFS: [] = [] Succ(x1) = Succ(x1) From the DPs we obtained the following set of size-change graphs: *new_primPlusNat(Succ(vuz300), Succ(vuz400), []) -> new_primPlusNat(vuz300, vuz400, []) (allowed arguments on rhs = {1, 2, 3}) The graph contains the following edges 1 > 1, 2 > 2, 3 >= 3 We oriented the following set of usable rules [AAECC05,FROCOS05]. none ---------------------------------------- (901) YES